加载文档后,某些东西会滚动回到0,0

时间:2019-05-16 11:24:02

标签: javascript html ruby-on-rails scroll turbolinks

我让这个JS滚动到页面加载上的特定位置(对于具有Turbolinks的Rails,它位于Turbolinks加载上):

document.addEventListener("turbolinks:load", function() {
  window.scrollTo(240,1);
});

但是,当我加载页面时,页面会在240,1加载一秒钟,然后突然回到0,0

有人知道导致延迟滚动到0,0的原因吗?

我还尝试用"turbolinks:load""page:load"替换"ready",它们也不起作用。

可能相关的事情

  • Chrome桌面
  • Ruby on Rails 5.2.3
  • Turbolinks 5
  • 没有其他自定义JS

2 个答案:

答案 0 :(得分:2)

尝试history.scrollRestoration = 'manual';。这样可以防止页面滚动回到上一个位置。

答案 1 :(得分:1)

将此脚本添加到开发工具控制台

window.onscroll = function (e) {  
  console.log("Window scrolled");
} 

现在添加一个断点并检查调用堆栈,如下图所示。
这将向您显示更改窗口滚动的所有功能。
请注意,如果您自己滚动页面,此功能也将执行。

enter image description here


希望对您有帮助!