javascript实现拖拽div效果

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://www.softwhy.com/" />
<title>拖拽效果限制范围</title>
<style type="text/css">
	*{
	  margin:0px;
	  padding:0px;
	}
	body{
	  padding:50px;
	}
	#box{
	  width:350px;
	  height:250px;
	  background:red;
	  overflow:hidden;
	  position:relative;
	}
	#drag{
	  width:50px;
	  height:50px;
	  background:green;
	  position:absolute;
	}
</style>
<script type="text/javascript">
	window.onload=function(){
	  var obox=document.getElementById("box");
	  var odrag=document.getElementById("drag");
	  var isDrag=false;
	  var x,y;
	   
	  odrag.onmousedown=down;
	  document.onmousemove=move;
	  document.onmouseup=up;
	   
	  function down(ev){
	    var ev=window.event||ev;
	    x=ev.clientX-this.offsetLeft;
	    y=ev.clientY-this.offsetTop;
	    this.style.cursor="move"; 
	    isDrag=true;
	  }
	  function move(ev){
	    if(isDrag){
	      var ev=window.event||ev;
	      odrag.style.left=(ev.clientX-x)+"px";
	      odrag.style.top=(ev.clientY-x)+"px";
	      if(parseInt(odrag.style.left)<0){
	        odrag.style.left=0;
	      }
	      if(parseInt(odrag.style.top)<0){
	        odrag.style.top=0;
	      }
	      if(parseInt(odrag.style.left)>obox.clientWidth-odrag.clientWidth){
	        odrag.style.left=(obox.clientWidth-odrag.clientWidth)+"px";
	      }
	      if(parseInt(odrag.style.top)>obox.clientHeight-odrag.clientHeight){
	         odrag.style.top=(obox.clientHeight-odrag.clientHeight)+"px";
	      }
	    }
	  }
	  function up(){
	    isDrag=false;
	    odrag.style.cursor="pointer";
	  }
	}
</script>
</head>
<body>
<div id="box">
  <div id="drag"></div>
</div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值