借用楼主的方法重新写了旋转图片,可自由调整角度,实力为10度。
var rr = 0; function rotateCW(point) { //rotateBy(90, point); //重新定义旋转 var loacl; if (!point) { loacl = loaclToLoacl($moveLayer, $clipView, clipWidth * .5, clipHeight * .5); } else { loacl = globalToLoacl($moveLayer, point.x, point.y); } var origin = calculateOrigin(curAngle, loacl), // 旋转中使用的参考点坐标 originX = origin.x, originY = origin.y; rr -= 10; var style = {}; style[prefix + "transform"] = " rotate(" + rr + "deg)"; style[prefix + "transform-origin"] = originX + "px " + originY + "px"; $rotateLayer.css(style); }
不好意思,没测试,上面还是有问题,缩不到最小尺寸,只在放大部分加一个判断:
if (zoomNum === 1) { zoomNum += 1; }
对部分图片第一次点击放大功能,实际会将图片缩小,第二次才正常放大???查看源码,做了部分修改,
将:
var zoomNum = 0; $(bigBtn).click(function() { if (zoomNum < 4) { zoomNum++; } var sf = zoomNum * .25; myScroll.zoom(sf); }); $(smallBtn).click(function() { if (zoomNum > 0) { zoomNum--; } var sf = zoomNum * .25; myScroll.zoom(sf); });
改为:
var zoomNum = 1; $(bigBtn).click(function() { if (zoomNum < 4) { zoomNum += 1; } var sf = zoomNum * 0.23; myScroll.zoom(sf); }); $(smallBtn).click(function() { if (zoomNum > 1) { zoomNum -= 1; } var sf = zoomNum * 0.23; myScroll.zoom(sf); });
就可以解决这个问题