javascript实现完美拖拽效果
javascript实现完美拖拽效果
发布时间:2016-12-30 来源:查字典编辑
摘要:拖拽的原理1.获取距离(鼠标的位置-odiv的外边距)2.理解什么时候用onmousemove事件3.判断是否过界html代码:css代码:...

拖拽的原理

1.获取距离(鼠标的位置-odiv的外边距)

2.理解什么时候用onmousemove事件

3.判断是否过界

html代码:

<div id="div1"></div>

css代码:

#div1{width:100px;height:100px;background:red;position:absolute}

javascript代码:

window.onload=function(){ var oDiv=document.getElementById("div1"); var x=0; var y=0; oDiv.onmousedown=function(ev){ var oEvent=ev||event; //鼠标的横坐标减去div的offsetLeft x=oEvent.clientX-oDiv.offsetLeft; //鼠标的纵坐标减去div的offsetTop y=oEvent.clientY-oDiv.offsetTop; document.onmousemove=function(ev){ var oEvent=ev||event; var left=oEvent.clientX-x; var right=oEvent.clientY-y; //判断左边是否过界 if(left<0){ left=0; } //判断右边是否过界 else if(left>document.documentElement.clientWidth-oDiv.offsetWidth){ left=document.documentElement.clientWidth-oDiv.offsetWidth; } //判断上边是否过界 if(right<0){ right=0; } //判断下边是否过界 else if(right>document.documentElenment.clientHeight){ right=document.documentElenment.clientHeight-oDiv.offsetHeight; } oDiv.style.left=left+"px"; oDiv.style.top=right+"px"; } document.onmouseup=function(){ //清空document的事件 document.onmousemove=null; document.onmouseup=null; } //解决低版本火狐bug,干掉系统默认 return false; } }

以上所述就是本文的全部内容了,希望大家能够喜欢。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类