📜  在页面刷新时将滚动到顶部反应 - 不恢复位置 - Javascript(1)

📅  最后修改于: 2023-12-03 14:51:34.332000             🧑  作者: Mango

在页面刷新时将滚动到顶部反应 - 不恢复位置 - Javascript

在 Web 开发过程中,经常会遇到页面刷新后滚动位置不归零的情况,比如用户填写了长表单或者查看了一个很长的列表,然后点击了刷新按钮,页面就会自动将滚动位置还原到之前的位置。这时候,我们往往需要将页面的滚动位置归零,让用户可以重新浏览页面的顶部内容。

以下是一个简单的 JS 代码片段,可以实现在页面刷新后将滚动位置归零的功能。

window.onbeforeunload = function () {
  window.scrollTo(0, 0);
}

这段代码非常简单,它注册了一个 onbeforeunload 事件处理函数,当用户关闭页面或者刷新页面时,这个函数就会被触发。在函数内部,我们调用了 window.scrollTo() 方法将滚动位置还原到顶部(0,0)处。

需要注意的是,这个方法只能在 onbeforeunload 事件中使用,因为页面还未被完全卸载,此时调用 scrollTo() 方法才有意义。如果在页面 load 事件中使用,那么页面已经加载完成,并且滚动位置已经被还原,这时候再调用 scrollTo() 方法就毫无意义了。

除了使用 onbeforeunload 事件之外,还可以使用 onunload 事件实现同样的效果,不过 onunload 事件会在页面完全卸载之后才被触发,因此可能会有一些延迟。如果你希望页面卸载时立刻将滚动位置还原到顶部,那么使用 onbeforeunload 事件比较合适。

以上就是在页面刷新时将滚动位置归零的一个简单实现。如果你遇到了类似的问题,可以尝试使用这段代码解决。