firefox浏览器下$("body").scrollTop()值始终为0的问题及我的解决方法

最近在写一个当页面滚动到一定位置时,页面右下角出现一个 “返回顶部的按钮”,点击后返回页面最顶部位置。

一开始我是用jq的$("body").scrollTop()计算混动距离,当距离大于一个值得时候,按钮出现show(),当小于这个值得时候,按钮消失hide()。当点击按钮的时候$("#gotop").on("click",function(){$("body").scrollTop(0)})

一开始在chrome浏览器上是能正常运行的,但在firefox运行的时候,按钮就不出现了。而且点击没有效果。通过控制台我发现,firefox下,$("body").scrollTop()的值永远为0.

这个是为什么呢?
原来火狐页面不支持document.body.scrollTop的这种js写法,这样写的值会是0,jq的方法scrollTop()的值也一直为0,就肯定不会出现按钮了。如果换成:document.documentElement.scrollTop,这样能出现值了。
但是火狐不能通过设置document.documentElement.scrollTop的值来使页面回到顶部。点击效果还是没有出现。我的解决方法是利用a标签href="#",点击会回到顶部的方式,使页面点击回到顶部。

如果有更好的解决方法,请跟我说一下哦~谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们首先要明白,我们给页面添加效果用到的js到底是什么?js其实包含三部分:dom 文档对象模型 bom 浏览...
    一直以来都很好阅读 818评论 0 0
  • 1.第一种方式:锚链接 优点:简单快速,没有兼容性问题 缺点: 视觉上不够直观,用户体验不太好 2.js的方式: ...
    love2013阅读 809评论 0 0
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,807评论 0 8
  • 当看到原来的同事又出了一首新歌时,突然感觉这些年的很多时光自己确实荒废了。没有一样是真正拿的出手的。
    遥远的星光阅读 354评论 0 0
  • 分手的理由千千万,又何止《算什么男人》这一个。 周杰伦的演唱会连着在杭州开唱两天,最火的大概是那个被cue到当众点...
    俟尘阅读 1,040评论 0 0