本文主要介绍了js实现鼠标拖动功能的实例代码。具有很好的参考价值。下面跟着小编一起来看下吧
效果图:
代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#p{
width: 200px;
height: 200px;
background: green;
position: absolute;
}
#p2{
width: 200px;
height: 200px;
background: gold;
position: absolute;
top: 200px;
left: 200px;
}
</style>
</head>
<body>
<p id="p">
</p>
<p id="p2"></p>
<script>
window.onload=function(){
var p=document.getelementbyid("p");
p.onmousedown=function(ev){
var e=window.event || ev;
//var myp=document.getelementbyid("p");
//获取到鼠标点击的位置距离p左侧和顶部边框的距离;
var ox=e.clientx-p.offsetleft;
var oy=e.clienty-p.offsettop;
//当鼠标移动,把鼠标的偏移量付给p
document.onmousemove=function(ev){
//计算出鼠标在xy方向上移动的偏移量,把这个偏移量加给p的左边距和上边距,p就会跟着移动
var e=window.event|| ev;
p.style.left=e.clientx-ox+"px";
p.style.top=e.clienty-oy+"px";
}
//当鼠标按键抬起,清除移动事件
document.onmouseup=function(){
document.onmousemove=null;
document.onmouseup=null;
}
}
var p2=document.getelementbyid("p2");
p2.onmousedown=function(ev){
var e=window.event || ev;
//var myp=document.getelementbyid("p");
//获取到鼠标点击的位置距离p左侧和顶部边框的距离;
var ox=e.clientx-p2.offsetleft;
var oy=e.clienty-p2.offsettop;
//当鼠标移动,把鼠标的偏移量付给p
document.onmousemove=function(ev){
//计算出鼠标在xy方向上移动的偏移量,把这个偏移量加给p的左边距和上边距,p就会跟着移动
var e=window.event|| ev;
p2.style.left=e.clientx-ox+"px";
p2.style.top=e.clienty-oy+"px";
}
//当鼠标按键抬起,清除移动事件
document.onmouseup=function(){
document.onmousemove=null;
document.onmouseup=null;
}
}
}
</script>
</body>
</html>
以上就是js实现鼠标拖动功能的详细内容。