返回顶部按钮为啥不能用do while实现

来源:2-6 实现返回顶部动画

JarvanIV

2021-10-12 15:02:40

https://img.mukewang.com/climg/616532ff0956fbee11200584.jpg

这样书写的话,点击按钮就滚一下就不动了

写回答

3回答

好帮手慕星星

2021-10-13

同学你好,抱歉,可能前面回复的不是很详细,给同学造成了误解。老师是测试过的,因为循环卡住了,所以点击按钮没反应。可以这样输出试试

https://img.mukewang.com/climg/61667dfd0987500406190139.jpg

一直在输出0

https://img.mukewang.com/climg/61667dce0981ca7d19150715.jpg

document.documentElement.scrollTop无法是负数,那么document.documentElement.scrollTop值一直是0,就会造成死循环,导致页面卡住,点击按钮无反应。

自己再理解下。

0

好帮手慕星星

2021-10-13

同学你好,如果加上等于0,那么等于0的时候会再执行一次do。

当document.documentElement.scrollTop值为0的时候已经到顶部了,所以再次执行do语句的时候,document.documentElement.scrollTop值会减少到-100,无法到达这个位置,页面就会卡住。

祝学习愉快!

0
harvanIV
hp>不是,我的意思是这个写法点击按钮根本没反应。你在本地试试看看

h021-10-13
共1条回复

好帮手慕星星

2021-10-12

同学你好,while循环条件有问题,滚动一下,scrollTop值不会小于0,所以应该是大于0的时候持续滚动

https://img.mukewang.com/climg/61655b2a095ba43506550125.jpg

不过这样点击按钮后效果是直接到达顶部,看不到持续的效果。

所以还是需要用定时器完成,有时间限制能看到滚动到顶部。祝学习愉快!

0
harvanIV
hp>https://img.mukewang.com/climg/61656f5e09b2124907280121.jpg

不知道为啥用>=就会有问题,页面好像就会卡住,然后点击也没反应

h021-10-12
共1条回复

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程