老师,有点儿不太明白

来源:4-8 video-javascript(5)

沉木岩

2020-09-14 21:07:50

http://img.mukewang.com/climg/5f5f6807096bf47609090202.jpg

老师您好!

CrlNode之所以加9是因为,拖拽按钮的宽为17,当拖拽到0的时候按钮的一半儿超过了offsetleft的0的位置,所以就为-8.5,如果不加上超出的部分补全就不好计算也就是结果parseInt取整始终达不到1

还有个问题就是在不取整也不加9的情况下,为什么始终达不到1,最终只能到0.97左右?然后为什么是加9而不是加0.85

求老师指教

写回答

2回答

好帮手慕慕子

2020-09-15

同学你好,对于你的问题解答如下:

  1. 可能由于系统和浏览器解析问题,视频中老师打印Crlnode.offsetLeft的初始值为9,所以老师就根据实际打印出的结果计算了。

    同学自己练习时,可以先获取Crlnode初始的offsetLeft值,保存下来,然后直接就使用这个值进行计算。示例:

    http://img.mukewang.com/climg/5f601d410966fef913510625.jpg

  2. document是指整个html文档对象,将鼠标移动和抬起事件绑定在document上是为了防止鼠标拖动过快,移出拖动的元素,造成无法正常拖动和抬起,导致鼠标再次移入的时候会出现问题。

    要是绑定到crlNode,鼠标移动过快的时候,移出这个元素,就不能正常的拖动了。同学可以测试看下效果。

如果我的回答帮助到了你, 欢迎采纳,祝学习愉快~~~~

0

沉木岩

提问者

2020-09-14

老师您好!还有两个问题

document.onmousemove = document.onmouseup = null;  老师说这一句是清除的意思,不太明白?

onmousemove 和 onmouseup  前面为什么是document呢

0

0 学习 · 6815 问题

查看课程