js拖拽效果的原理及实现
Posted ningyj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js拖拽效果的原理及实现相关的知识,希望对你有一定的参考价值。
拖拽元素分三步:1、鼠标摁下2、鼠标移动3、鼠标松开,是由这三个事件组成的。
先获取元素div;设置一个全局变量offsetX,offsetY;让div侦听鼠标摁下事件,
当收到信息时再开始侦听鼠标移动 和鼠标松开的事件,所以在这个事件回调函数里判断事件的类型,
最后鼠标松开时结束侦听。
var div=document.querySelector("div"); var offsetX,offsetY; div.addEventListener("mousedown",mouseHandler); function mouseHandler(e){ if(e.type==="mousedown"){ offsetX=e.offsetX; offsetY=e.offsetY; document.addEventListener("mousemove",mouseHandler) document.addEventListener("mouseup",mouseHandler) }else if(e.type==="mousemove"){ div.style.left=e.clientX-offsetX+"px"; div.style.top=e.clientY-offsetY+"px"; }else if(e.type==="mouseup"){ document.removeEventListener("mousemove",mouseHandler) document.removeEventListener("mouseup",mouseHandler) } }
以上是关于js拖拽效果的原理及实现的主要内容,如果未能解决你的问题,请参考以下文章