js div move

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
		<title>div move</title>
		
	</head>
	<body>
		<div id="movID"
			style="border:1px dashed blue; width: 500px; height: 500px; left:50px; top:50px; position :absolute; zIndex: 2001; background-color: #FFFFFF;">
		</div>
	</body>
	<script type="text/javascript">
		window.onload = function(){
			var div = document.getElementById("movID");
			div.onmousedown = function(event){
				fDragging(div, event, false);
			}
		}
		function fDragging(obj, e, limit) {
		    if (!e) e = window.event;
		    var x = parseInt(obj.style.left);
		    var y = parseInt(obj.style.top);
		
		    var x_ = e.clientX - x;
		    var y_ = e.clientY - y;
		
		    if (document.addEventListener) {
		        document.addEventListener('mousemove', inFmove, true);
		        document.addEventListener('mouseup', inFup, true);
		    } else if (document.attachEvent) {
		        document.attachEvent('onmousemove', inFmove);
		        document.attachEvent('onmouseup', inFup);
		    }
		
		    inFstop(e);
		    inFabort(e);
		
		    function inFmove(e) {
		        var evt;
		        if (!e) e = window.event;
		        if (limit) {
		            var op = obj.parentNode;
		            var opX = parseInt(op.style.left);
		            var opY = parseInt(op.style.top);
		
		            if ((e.clientX - x_) < 0) return false;
		            else if ((e.clientX - x_ + obj.offsetWidth + opX) > (opX + op.offsetWidth)) return false;
		
		            if (e.clientY - y_ < 0) return false;
		            else if ((e.clientY - y_ + obj.offsetHeight + opY) > (opY + op.offsetHeight)) return false;
		        }
		
		        obj.style.left = e.clientX - x_ + 'px';
		        obj.style.top = e.clientY - y_ + 'px';
		
		        inFstop(e);
		    }
		
		    function inFup(e) {
		        var evt;
		        if (!e) e = window.event;
		
		        if (document.removeEventListener) {
		            document.removeEventListener('mousemove', inFmove, true);
		            document.removeEventListener('mouseup', inFup, true);
		        } else if (document.detachEvent) {
		            document.detachEvent('onmousemove', inFmove);
		            document.detachEvent('onmouseup', inFup);
		        }
		
		        inFstop(e);
		    }
		
		    function inFstop(e) {
		        if (e.stopPropagation) return e.stopPropagation();
		        else return e.cancelBubble = true;
		    }
		
		    function inFabort(e) {
		        if (e.preventDefault) return e.preventDefault();
		        else return e.returnValue = false;
		    }
		}
		</script>
</html>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值