返回顶部按钮为啥不能用do while实现
来源:2-6 实现返回顶部动画
JarvanIV
2021-10-12 15:02:40

这样书写的话,点击按钮就滚一下就不动了
3回答
好帮手慕星星
2021-10-13
同学你好,抱歉,可能前面回复的不是很详细,给同学造成了误解。老师是测试过的,因为循环卡住了,所以点击按钮没反应。可以这样输出试试

一直在输出0

document.documentElement.scrollTop无法是负数,那么document.documentElement.scrollTop值一直是0,就会造成死循环,导致页面卡住,点击按钮无反应。
自己再理解下。
好帮手慕星星
2021-10-13
同学你好,如果加上等于0,那么等于0的时候会再执行一次do。
当document.documentElement.scrollTop值为0的时候已经到顶部了,所以再次执行do语句的时候,document.documentElement.scrollTop值会减少到-100,无法到达这个位置,页面就会卡住。
祝学习愉快!
好帮手慕星星
2021-10-12
同学你好,while循环条件有问题,滚动一下,scrollTop值不会小于0,所以应该是大于0的时候持续滚动

不过这样点击按钮后效果是直接到达顶部,看不到持续的效果。
所以还是需要用定时器完成,有时间限制能看到滚动到顶部。祝学习愉快!
相似问题