元素拖动实现

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>VVVGG</title>
	<link rel="stylesheet" type="text/css" href="lesson1.css">
	<script src="jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
	<div style="width: 50px;height: 50px;background-color: red;position: absolute;left: 0;top: 0;"></div>
</body>
<script src="lesson.js" type="text/javascript" charset="utf-8">
</script>
</html>
var div = document.getElementsByTagName('div')[0];
var disX,
	disY;
function elemDrag(elem) {
	addEvent(elem, 'mousedown', mousedown);
	function mousedown(event) {
		var e = event || window.event;
		disX = e.pageX - parseInt(elem.style.left);
		disY = e.pageY - parseInt(elem.style.top);
		addEvent(document, 'mousemove', mousemove);
		addEvent(document, 'mouseup', mouseup);
	}
	function mousemove(event) {
		var e = event || window.event;
		elem.style.left = e.pageX - disX + 'px';
		elem.style.top = e.pageY - disY + 'px';
	}
	function mouseup() {
		removeEvent(document, 'mousemove', mousemove);
	}
}
//针对不同浏览器,绑定事件函数
function addEvent (elem, type, handle) {
	if(elem.addEventListener) {
		elem.addEventListener(type, handle, false);
	}else if(elem.attachEvent){
		elem.attachEvent('on' + type, function () {
			handle.call(elem);
		})
	}else{
		elem['on' + type] = handle;
	}
}
//针对不同浏览器,解除绑定事件函数
function removeEvent (elem, type, handle) {
	if(elem.removeEventListener) {
		elem.removeEventListener(type, handle, false);
	}else if(elem.detachEvent) {
		elem.detachEvent('on' + type, function () { handle.call(elem); });
	}else{
		elem['on' + type] = null;
	}
}
elemDrag(div);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值