JS拖拽及常见的问题

JS拖拽:

无论是网页还是qq登录框都会有拖拽的功能,那么如何去实现拖拽呢?
1.原理
拖拽的原理很简单,及设置鼠标点击处到div的固定的水平距离disX和鼠标点击处到div的垂直距离disY固定不变。
2.拖拽涉及到的三个事件
Onmousedown 存储距离
Onmousemove 根据距离,计算div最新的位置
Onmouseup 鼠标抬起
3.拖拽常见的问题
拖拽出现问题1:鼠标移动快,导致划出小方块。
解决方法: 将onmousemove()和 onmouseup()事件加给无限大的document上。

拖拽出现的问题2:边界判断:
解决方法: 通过设置边界的临界值来解决;
涉及到Clientwidth 和 clientheight
4.完整代码:







Document




你可能感兴趣的:(JS学习)