为了账号安全,请及时绑定邮箱和手机立即绑定

回到顶部效果

难度初级
时长40分
学习人数
综合评分9.63
249人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.4 逻辑清晰

已采纳回答 / 混在成都
$(window).scroll(function(){    var top = $(window).scrollTop();    if (top>=100) {        $("#btn").show();    } else{        $("#btn").hide();    }  })
说台湾的同学你错了 肯定说粤语的 哈哈
老师肯定广东的 哈哈 好亲切的广东口音
用jQuery的话要简单很多:
$("#btn").click(function(){
$("html,body").animate({scrollTop:0},300);
});

最赞回答 / weibo_哆啦A梦有大口袋_0
自己写啊,这么简单还要源码,不懂边看视频边写!自己不练习给你源码有什么用

最赞回答 / WingMeng
回答这个问题前,先来看下为什么不改成负数就不行呢?注意这句:var ispeed = Math.floor(osTop / 6); 当上面osTop的值小于6这个除数时,ispeed的值始终等于0(向下取整了),所以问题来了,当ispeed的值不变时,osTop - ispeed 这个控制滚动条的值也就不变了,所以滚动条永远到不了顶。实际中,当osTop = 5 时,ispeed 为 0,下面两句也始终为5:document.documentElement.scrollTop = osTop - ispe...

最新回答 / 云鬓花颜
document.documentElement.scrollTop=document.body.scrollTop += speed;这个距离是这样吗?
这老师不会是台湾的吧,三分天注定啊,七分靠打拼,爱bia才会赢!
把Math.floor改成Math.ceil和加负号效果一样哦~

最新回答 / 真剑无锋
你把setInterval(function(){···},10)中的10改成60左右应该就可以了,(个人理解)10毫秒执行一次太快了,快到window.onscroll = function(){};都没有反应过来flag就被置为true了,IE能处理这种高速执行的情况,火狐好像办不到,至于为什么我也不知道,在chrome上其实只要你鼠标划得够快其实也可以让滚动停止的O(∩_∩)O~

最赞回答 / 真剑无锋
我觉得后面的代码“document.body.clientHeight”是多余的,而且在本例中是错的,document.body.clientHeight获取的是body对象的高度,在作者这个例子中body对象高度被图片撑到了2790px,所以如果你把“document.documentElement.clientHeight||document.body.clientHeight;”换成“document.body.clientHeight||document.documentElement.clien...
课程须知
1.掌握HTML+CSS基础知识;2.了解JavaScript中onclick事件、简单dom操作、定时器等知识。
老师告诉你能学到什么?
1.掌握两种实现顶部效果的方法; 2.学会定时器、window.onscroll等知识

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消