刷新长网页时如何防止滚动跳跃

3
在刷新较长的HTML页面时,滚动位置会初始化到顶部,然后跳转到上次滚动位置。是否有办法停止刷新时的跳转行为,仅将滚动位置初始化到上次滚动位置?

问题是,您是使用本地JavaScript还是类似jQuery的库? - C. S.
3个回答

6
如何使用html5的localStorage函数?
window.addEventListener('scroll', function () {
    localStorage.scrollX = window.scrollX;
    localStorage.scrollY = window.scrollY;
})
window.addEventListener('load',function () {
    window.scrollTo(localStorage.scrollX || 0, localStorage.scrollY || 0);
})

请访问http://jsfiddle.net/g5NKG/10/show/查看。


0

听起来你可能需要 jQuery 中的 .scrollTop() 方法,可以在这里找到。

所以:

$(document).ready(function(){
    $(this).scrollTop(0);
});

从评论中的链接,这也是一个快速解决方案:

$(document).scrollTop(0);

上次滚动位置! - Tom Chung
是的,@TomChung,在这里还有一些其他选项:(https://dev59.com/7nA65IYBdhLWcg3wuhIR) - Pippin

0

这不就是默认浏览器行为吗?你所描述的听起来像是所有主流浏览器已经这样做了。


是的,浏览器在刷新页面时不会自动回到页面顶部,除非你告诉它们这样做。 - Pippin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接