javascript通用函数

JavaScript拖拽,通用函数

参数:开启拖拽的元素

function drag(obj){
	//当鼠标在被拖拽元素上按下时,开始拖拽  onmousedown
	obj.onmousedown = function(event){
	obj.setCapture && obj.setCapture();
	event = event || window.event;
	//div的偏移量 鼠标.clentX - 元素.offsetLeft
	//div的偏移量 鼠标.clentY - 元素.offsetTop
	var ol = event.clientX - obj.offsetLeft;
	var ot = event.clientY - obj.offsetTop;
	//为document绑定一个onmousemove事件
	document.onmousemove = function(event){
		event = event || window.event;
		//当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
		//获取鼠标的坐标
		var left = event.clientX - ol;
		var top = event.clientY - ot;
		obj.style.left = left+"px";
		obj.style.top = top+"px";
	};
	//为document绑定一个鼠标松开事件
	document.onmouseup = function(){
		//当鼠标松开时,被拖拽元素固定在当前位置	onmouseup
		//取消document的onmousemove事件
		document.onmousemove = null;
		//取消document的onmouseup事件
		document.onmouseup = null;
		//当鼠标松开时,取消对事件的捕获
		obj.releaseCapture && obj.releaseCapture();
	};
	return false;
};
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值