js的拖放疗效主要用到以下三个风波:
mousedown滑鼠按下风波
mousemove键盘联通风波
mouseup键盘举起风波
当点击dom的时侯,记录当前键盘的座标值,也就是x、y值,以及被拖放的dom的top、left值,并且还要在滑鼠按下的反弹函数里添加键盘联通的风波:document.addEventListener("mousemove",moving,false)和添加键盘举起的风波document.addEventListener("mouseup",function(){document.removeEventListener("mousemove",moving,false);},false);这个举起的风波是为了解除键盘联通的窃听,由于只有在滑鼠按下才可以拖放,举起就停止不会联通了。当滑鼠按下键盘联通的时侯,记录联通中的x、y值,这么这个被拖放的dom的top和left值就是:
top=滑鼠按下时记录的dom的top值+(联通中的y值-滑鼠按下时的y值)
left=滑鼠按下时记录的dom的left值+(联通中的x值-滑鼠按下时的x值);