可以实现手势操作:拖动,缩放,旋转。封装好的脚本方法是这样的:
猫var=窗口。猫| | {}; 猫。touchjs={ 左:0, 上图:0, scaleVal: 1、//缩放 rotateVal: 0,//旋转 curStatus: 0,//记录当前手势的状态,0:拖动,1:缩放,2:旋转//初始化 初始化:函数(targetObj美元,回调){ 联系。在($ targetObj touchstart的函数(ev) { cat.touchjs。curStatus=0; ev.preventDefault();//阻止默认事件 }); 如果(! window.localStorage.cat_touchjs_data) 回调(0,0,1,0); 其他{ var jsonObj=JSON.parse (window.localStorage.cat_touchjs_data); cat.touchjs。cat.touchjs左=parseFloat (jsonObj.left)。顶级=parseFloat (jsonObj.top), cat.touchjs。scaleVal=parseFloat (jsonObj.scale), cat.touchjs。rotateVal=parseFloat (jsonObj.rotate); 回调(cat.touchjs。离开了,cat.touchjs。前,cat.touchjs。scaleVal cat.touchjs.rotateVal); } },//拖动 阻力:函数(targetObj美元,回调){ 联系。在(targetObj美元,“拖”,函数(ev) { targetObj美元。cat.touchjs css(“左”。左+ ev.x)。css(“顶级”,cat.touchjs。前+ ev.y); }); 联系。在($ targetObj拖动结束的函数(ev) { cat.touchjs。左=cat.touchjs。左+ ev.x; cat.touchjs。=cat.touchjs。前+ ev.y; 回调(cat.touchjs。离开,cat.touchjs.top); }); },//缩放 规模:函数(targetObj美元,回调){ var initialScale=cat.touchjs。scaleVal | | 1; var currentScale; 联系。(targetObj美元,“捏”、功能(ev) { 如果(cat.touchjs。curStatus==2) { 返回; } cat.touchjs。curStatus=1; currentScale=电动汽车。规模- 1; currentScale=initialScale + currentScale; cat.touchjs。scaleVal=currentScale; var transformStyle=' (' + cat.touchjs规模。scaleVal + ') (' + cat.touchjs旋转。rotateVal +“度)”; targetObj美元。css(“变换”,transformStyle)。css (“-webkit-transform transformStyle); 回调(cat.touchjs.scaleVal); }); 联系。在($ targetObj pinchend的函数(ev) { 如果(cat.touchjs。curStatus==2) { 返回; } initialScale=currentScale; cat.touchjs。scaleVal=currentScale; 回调(cat.touchjs.scaleVal); }); },//旋转 旋转:函数(targetObj美元,回调){ var=cat.touchjs角度。rotateVal | | 0; 联系。在(targetObj美元,“旋转”,函数(ev) { 如果(cat.touchjs。curStatus==1) { 返回; } cat.touchjs。curStatus=2; var totalAngle=+ ev.rotation角; 如果(ev)。fingerStatus===敖崾?{ 角=角+ ev.rotation; } cat.touchjs。rotateVal=totalAngle; var transformStyle=' (' + cat.touchjs规模。scaleVal + ') (' + cat.touchjs旋转。rotateVal +“度)”; targetObj美元。css(“变换”,transformStyle)。css (“-webkit-transform transformStyle); targetObj美元。attr (data-rotate, cat.touchjs.rotateVal); 回调(cat.touchjs.rotateVal); }); } };>之前html代码:
& lt; div比; & lt; img id=" targetObj " src=" https://cache.yisu.com/upload/information/20200622/114/77432.jpg "/比; & lt;/div>, js调用:
var targetObj=美元(“# targetObj”);//初始化设置 cat.touchjs。init()美元targetObj、功能(左,上,规模、旋转){};//初始化拖动手势(不需要就注释掉) cat.touchjs。拖(targetObj美元,函数(左){});//初始化缩放手势(不需要就注释掉) cat.touchjs。规模(targetObj美元,函数(规模){});//初始化旋转手势(不需要就注释掉) cat.touchjs。旋转(targetObj美元,函数(旋转){});>之前以上所述是小编给大家介绍的联系。js拖动,缩放,旋转(鼠标手势)功能代码,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
联系。js拖动,缩放,旋转(鼠标手势)功能代码