首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取和设置当前网页的滚动位置?

如何获取和设置当前网页的滚动位置?
EN

Stack Overflow用户
提问于 2010-11-04 20:56:29
回答 5查看 226.5K关注 0票数 159

如何获取和设置当前网页的滚动位置?

我有一个很长的表单,需要根据用户的操作/输入进行刷新。当这种情况发生时,页面会重置到最上面,这对用户来说很烦人,因为他们必须向下滚动到他们所在的位置。

如果我可以在页面重新加载之前捕获当前滚动位置(在隐藏输入中),那么我就可以在页面重新加载后将其设置回去。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-04 20:59:20

您正在寻找document.documentElement.scrollTop属性。

票数 160
EN

Stack Overflow用户

发布于 2015-02-13 05:42:58

当前接受的答案是不正确的- document.documentElement.scrollTop在Chrome上总是返回0。这是因为WebKit使用body来跟踪滚动,而火狐和IE使用html

要获得当前位置,您需要:

代码语言:javascript
复制
document.documentElement.scrollTop || document.body.scrollTop

您可以将当前位置设置为页面下方的1000px,如下所示:

代码语言:javascript
复制
document.documentElement.scrollTop = document.body.scrollTop = 1000;

或者,使用jQuery (当你在它的时候设置它的动画!):

代码语言:javascript
复制
$("html, body").animate({ scrollTop: "1000px" });
票数 158
EN

Stack Overflow用户

发布于 2013-03-17 14:26:33

我选择了HTML5本地存储解决方案...我的所有链接都会调用一个函数,该函数在更改window.location之前对此进行设置:

代码语言:javascript
复制
localStorage.topper = document.body.scrollTop;

每个页面在主体的onLoad中都有这样的内容:

代码语言:javascript
复制
  if(localStorage.topper > 0){ 
    window.scrollTo(0,localStorage.topper);
  }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4096863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档