js实现页面中的拖拽运动

来源:互联网 发布:李宁在淘宝有多少店 编辑:程序博客网 时间:2024/06/04 04:34
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">*{margin: 0; padding: 0;}div{width: 800px; height: 40px; border: 5px solid cadetblue; background: orange;position: absolute;}</style><script type="text/javascript">window.onload=function(){var oCl=document.getElementById('cl');var disx=0;//用来装鼠标在拖动元素中的相对x轴位置var disy=0;//<span style="font-family: Arial, Helvetica, sans-serif;">用来装鼠标在拖动元素中的相对y轴位置</span>oCl.onmousedown=function(ev){//鼠标按下时换获取坐标var oEvent=ev || event;//Event的兼容性处理disx=oEvent.clientX-oCl.offsetLeft;//求出<span style="font-family: Arial, Helvetica, sans-serif;">鼠标在拖动元素中的相对x轴位置</span>disy=oEvent.clientY-oCl.offsetTop;//<span style="font-family: Arial, Helvetica, sans-serif;">求出</span><span style="font-family: Arial, Helvetica, sans-serif;">鼠标在拖动元素中的相对x轴位置</span>document.onmousemove=function(ev){//鼠标移动时赋给元素坐标var oEvent=ev || event;var left=oEvent.clientX-disx;//鼠标当时的x坐标减去<span style="font-family: Arial, Helvetica, sans-serif;">鼠标在拖动元素中的相对x轴的值</span>var top=oEvent.clientY-disy;//<span style="font-family: Arial, Helvetica, sans-serif;">鼠标当时的y坐标减去</span><span style="font-family: Arial, Helvetica, sans-serif;">鼠标在拖动元素中的相对y轴的值</span>if(left<0){left=0;//防止移出屏幕左侧外}else if(left>document.documentElement.clientWidth-oCl.offsetWidth){left=document.documentElement.clientWidth-oCl.offsetWidth;//防止移出屏幕右侧外}if(top<0){top=0;//防止移出上方}else if(top>document.documentElement.clientHeight-oCl.offsetHeight){top=document.documentElement.clientHeight-oCl.offsetHeight;//防止移出下方}oCl.style.left=left+'px';oCl.style.top=top+'px';//赋值}};document.onmouseup=function(){document.onmousemove=null;//防止鼠标移动过快脱出元素范围而无法继续控制}}</script></head><body><div id="cl"></div></body></html>

0 0
原创粉丝点击