【问题标题】:scrollTop does not work in Chrome, nor do suggested workaroundsscrollTop 在 Chrome 中不起作用,建议的解决方法也不起作用
【发布时间】:2011-07-11 21:40:15
【问题描述】:

许多其他问题(hereherehere)指出 scrollTop 在某些版本的 Chrome 中似乎不起作用

还有一个开放的 Chrome 问题here

提到了一些解决方法,但没有一个适合我,我在 Ubuntu 上使用 Chrome 9.0.597.107。

我需要能够在文档第一次加载时读取 scrollTop,然后设置它(在顶部元素上,即 body/html/document)。

目前,在 Chrome 中,scrollTop 始终为 0,设置它不会导致文档滚动。

有没有人使用原生 JS 或 JQuery 找到解决方案或变通方法

重要的是,我无法控制源 HTML,我的 JS 动态包含在其中,因此没有解决方案可以涉及更改源 HTML。

【问题讨论】:

    标签: javascript google-chrome scroll


    【解决方案1】:

    试一试:

    $("#ElemtToScroll").scrollTop($("#ElemtToScroll")[0].scrollHeight);
    

    【讨论】:

      【解决方案2】:

      也许你可以使用window.scroll(x,y);

      【讨论】:

      • 那也行不通。有趣的是,当我调用 scroll 或 scrollTop 时,会触发滚动事件(我可以记录它),但 Chrome 实际上并没有进行滚动。
      • 这个问题可能与你选择的css有关。你想滚动什么,为什么需要滚动它,你能做一个不同的css布局,看起来和工作都一样,但不会触发这个错误吗?如果我是你,我会问自己这些问题。如果不使用您的代码,我将无法回答任何问题。
      • 它们不是我的 html 页面 - JS 被注入然后,就像一个 3rd 方库。
      • @Joel:如果您在此页面上打开 chrome 开发者控制台(使窗口足够小,以便有滚动条)并查询/设置 document.body.scrollTop,您会看到它有效很好(至少在我的 chrome 9 on win7 64bit 上)所以我的猜测是你有它不起作用的页面有一些触发这个错误的 css。如果你不能以任何方式影响 css,那你可能就倒霉了。
      • 你是对的,在这个页面上它确实有效。此外,我刚刚发现这可行: $(window).scrollTop()
      猜你喜欢
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 2015-10-08
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      相关资源
      最近更新 更多