美文网首页饥人谷技术博客
firefox浏览器下$("body").s

firefox浏览器下$("body").s

作者: 好怪的怪兽 | 来源:发表于2016-10-17 09:46 被阅读139次

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

    一开始我是用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="#",点击会回到顶部的方式,使页面点击回到顶部。

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

    相关文章

      网友评论

        本文标题:firefox浏览器下$("body").s

        本文链接:https://www.haomeiwen.com/subject/ypmayttx.html