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

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

https://img1.sycdn.imooc.com//climg/616532ff0956fbee11200584.jpg

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

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕星星 2021-10-13 14:36:00

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

https://img1.sycdn.imooc.com//climg/61667dfd0987500406190139.jpg

一直在输出0

https://img1.sycdn.imooc.com//climg/61667dce0981ca7d19150715.jpg

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

自己再理解下。

好帮手慕星星 2021-10-13 13:46:06

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

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

祝学习愉快!

  • 提问者 JarvanIV #1

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

    2021-10-13 13:54:40
好帮手慕星星 2021-10-12 17:55:16

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

https://img1.sycdn.imooc.com//climg/61655b2a095ba43506550125.jpg

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

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

  • 提问者 JarvanIV #1

    https://img1.sycdn.imooc.com//climg/61656f5e09b2124907280121.jpg

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

    2021-10-12 19:20:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师