【问题标题】:Javascript / CSS window.scrollTo(0,0) not workingJavascript / CSS window.scrollTo(0,0)不起作用
【发布时间】:2013-01-15 09:18:39
【问题描述】:

我正在构建一个网络应用程序,当执行某个操作时,该网络应用程序的一部分需要滚动到顶部。这是使用 window.scrollTo(0,0) 处理的,在我在下面添加一些 CSS 样式(我需要这个项目)之前,它工作得很好。

有人知道为什么下面的 CSS 会停止 window.scrollTo(0,0) 工作吗?

* {
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

附:我不能在我的情况下使用 jQuery,以防有人建议我这样做。

【问题讨论】:

  • 使用 jQuery :) 不,我试过你说的,它适用于我在 FF、Chrome 和 IE 上。你能再贴一些代码吗?
  • 如果您使用材料设计 sidenav,请在此处查看我的答案:stackoverflow.com/a/43710010/2146647
  • 尝试将你的 `window.scrollTo(0, 0) 包装在一个 setTimeout 中,这对我有用
  • 帮我删除body{ height: 100%;}解决这个问题。

标签: javascript css


【解决方案1】:

变化

html, body {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
}

为我工作

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,这解决了它:

    document.getElementById('ELEMENT_ID').scrollIntoView();

    ELEMENT_ID 是您想要滚动到视图中的对象的 ID,在您的情况下,它通常是标题。

    请注意,这仅适用于 Firefox 浏览器,因为其他浏览器尚未实现平滑滚动选项(查看更多:http://caniuse.com/#feat=scrollintoview)。

    【讨论】:

    • 谢谢,这是唯一对我有用的解决方案。我现在只需要弄清楚如何将滚动位置向下微调一点,以便我可以清楚地看到屏幕上滚动到的元素。
    • 谢谢!它适用于容器使用 100vh
    【解决方案3】:

    我的情况是删除此块解决了问题

    html, body {
      overflow-x: hidden;
    }
    

    【讨论】:

    • 我也遇到了一个容器元素为 100vh 的问题,我不得不将其删除。
    • @Dima 我有同样的问题,但我无法删除上面的块。我该怎么办?有什么建议吗?
    • @khush 你解决了这个问题吗?我遇到了同样的问题,我无法删除溢出-x:隐藏
    【解决方案4】:

    原来在 body 的主要元素上没有设置高度,这意味着滚动到不起作用但是过渡 CSS 在 webkit 中自动给了元素高度.... 修复了 CSS 给它一个设置的高度它再次起作用!

    【讨论】:

    • 刚刚出现了 scrollTo 无法正常工作的问题,并且还下降到没有在 body 元素上设置的高度。感谢您发布最终解决方案
    【解决方案5】:

    尝试替代方案:

    document.body.scrollTop = 0;
    

    【讨论】:

      猜你喜欢
      • 2021-04-06
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      相关资源
      最近更新 更多