【问题标题】:-Webkit-scroll bar + overflow + JQuery scrollTop returns always zero-Webkit-滚动条 + 溢出 + JQuery scrollTop 返回总是零
【发布时间】:2011-06-16 02:20:48
【问题描述】:

我整天都在研究这个错误,但无法解决它。

有一个 JQuery scrollTop 动画脚本,它检测 $(window).scrollTop() 值并做一些动画,如果单击按钮滚动回顶部。 $(this).click(function() { $("html, body").animate({scrollTop:0},"fast"); });

这通常很好用。我总是得到一个 scrollTop 值...直到 ->

在为您的浏览器使用自定义 -webkit-scroll bar 时,您必须 在css中设置

html -> 溢出:隐藏 body -> 位置:绝对,overflow-y:scroll,overflow-x:auto

html 层次结构只是普通的 html->body-> div 容器 -> div 内容等。

现在既然浏览器滚动条被移除了,并且有了你自己的自定义滚动条, scrollTop 值始终返回零。

一直在尝试所有我能想到的,无论我尝试了什么其他代码,scrollTop 值总是返回零。

所以没有动画,也没有回滚。

有人知道如何在使用自定义 *browser -webkit-scrollbar 滚动回顶部时获取值吗?*

【问题讨论】:

    标签: jquery html webkit css


    【解决方案1】:

    您不再滚动窗口,而是滚动内部元素,因此您应该尝试:

    $(html).scrollTop()
    $(body).scrollTop()
    

    看看0有没有变化

    【讨论】:

      【解决方案2】:

      当您从 htmlbody CSS 中删除 overflow: hiddenposition: absolute 时会发生什么?

      【讨论】:

        【解决方案3】:

        我相信这是一个尚未完全修复的错误。 在这里检查 https://bugs.webkit.org/show_bug.cgi?id=9248

        并检查显示此演示 (http://maisqi.com/outros/bugs/chrome/CHN6) 的最后一条评论,该演示在基于 webkit 的浏览器中仍然失败。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-21
          • 2016-07-13
          • 2017-04-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多