【发布时间】:2011-05-11 18:44:38
【问题描述】:
有没有办法用 JavaScript/jQuery 控制浏览器滚动?
当我将页面向下滚动一半,然后触发重新加载时,我希望页面打包到顶部,但它却试图找到最后一个滚动位置。所以我这样做了:
$('document').ready(function() {
$(window).scrollTop(0);
});
但没有运气。
编辑:
所以当我在页面加载后给他们打电话时,您的两个答案都有效 - 谢谢。但是,如果我只是在页面上进行刷新,看起来浏览器会在 .ready 事件之后计算并滚动到它的旧滚动位置(我也测试了 body onload() 函数)。
那么接下来是,有没有办法阻止浏览器滚动到它过去的位置,或者在它完成它的事情之后重新滚动到顶部?
【问题讨论】:
-
从 $(window).load() 执行此操作会发生什么?
-
@MPD- 好主意! ...但只是尝试过,之后滚动调整仍然发生。不过感谢您的提示,它实际上有助于解决我的另一个问题:stackoverflow.com/questions/4210829/…。如果你想回答这个问题,我会给你一些 ups。
-
@Yarin 抱歉,您为此等了 9 年。您需要在尝试滚动之前设置 history.scrollRestoration。看我的回答。
标签: javascript jquery html scroll