问答详情
源自:2-6 编程练习

鼠标当前x轴 减去 鼠标在控制元素上x轴的偏移 这样为什么就是控制元素的Left了?这到底是怎么算的啊?求大神解决

鼠标当前x轴 减去 鼠标在控制元素上x轴的偏移 这样为什么就是控制元素的Left了?这到底是怎么算的啊?求大神解决 

提问者:爪哇一只猫 2016-11-26 21:15

个回答

  • qq_俺忘了_0
    2016-12-08 18:20:20
    已采纳

    我帮你画了个图 你看,只要明白这个原理,就是剩下函数的不同写法罢了

    http://img.mukewang.com/584933c80001912608190460.jpg


  • qq_俺忘了_0
    2016-12-08 18:25:18

    本来画了2张 结果第一张没保存住 算了 合在一起了  原理就是那样

    鼠标点击要干的事:disX = e.clientX - box.offsetLeft; 

                                   disY = e.clentY - box.offsetTop;  

                                    记录图2黄色部分的那个偏移量

    鼠标移动要干的事: box.style.lft = e.clientX - disX + 'px';    

                                 box.style.top = e.clientY - box.offsetTop;  

                                让鼠标当前的位置 减去那个第一次点击后的偏移量。

    鼠标抬起要干的事:让移动和抬起时间同时=null; 

                                    让盒子位置固定住;