JavaScript实现图片的放大缩小及拖拽功能示例
程序员文章站
2023-12-01 19:32:46
本文实例讲述了javascript实现图片的放大缩小及拖拽功能。分享给大家供大家参考,具体如下:
实现效果如下:
实现代码:
本文实例讲述了javascript实现图片的放大缩小及拖拽功能。分享给大家供大家参考,具体如下:
实现效果如下:
实现代码:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>title</title> <style> div{width:400px;height:400px;overflow:hidden;position:relative;border:1px solid #000;} div img{position:absolute;height:100%;width:auto;cursor:move;} </style> </head> <body> <div id="div" onmousewheel="return bbimg(this)"><img id="img" border="0" src="img/zs.jpg" /></div> <script language="javascript"> var params = { zoomval:1, left: 0, top: 0, currentx: 0, currenty: 0, flag: false }; //图片缩放 function bbimg(o){ var o=o.getelementsbytagname("img")[0]; params.zoomval+=event.wheeldelta/1200; if (params.zoomval >= 0.2) { o.style.transform="scale("+params.zoomval+")"; } else { params.zoomval=0.2; o.style.transform="scale("+params.zoomval+")"; return false; } } //获取相关css属性 var getcss = function(o,key){ return o.currentstyle? o.currentstyle[key] : document.defaultview.getcomputedstyle(o,false)[key]; }; //拖拽的实现 var startdrag = function(bar, target, callback){ if(getcss(target, "left") !== "auto"){ params.left = getcss(target, "left"); } if(getcss(target, "top") !== "auto"){ params.top = getcss(target, "top"); } //o是移动对象 bar.onmousedown = function(event){ params.flag = true; if(!event){ event = window.event; //防止ie文字选中 bar.onselectstart = function(){ return false; } } var e = event; params.currentx = e.clientx; params.currenty = e.clienty; }; document.onmouseup = function(){ params.flag = false; if(getcss(target, "left") !== "auto"){ params.left = getcss(target, "left"); } if(getcss(target, "top") !== "auto"){ params.top = getcss(target, "top"); } }; document.onmousemove = function(event){ var e = event ? event: window.event; if(params.flag){ var nowx = e.clientx, nowy = e.clienty; var disx = nowx - params.currentx, disy = nowy - params.currenty; target.style.left = parseint(params.left) + disx+ "px"; target.style.top = parseint(params.top) + disy+ "px"; if (typeof callback == "function") { callback((parseint(params.left) || 0) + disx, (parseint(params.top) || 0) + disy); } if (event.preventdefault) { event.preventdefault(); } return false; } } }; startdrag(document.getelementbyid("img"),document.getelementbyid("img")) </script> </body> </html>
更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript图片操作技巧大全》、《javascript切换特效与技巧总结》、《javascript运动效果与技巧汇总》、《javascript动画特效与技巧汇总》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。