如何记住滚动条的垂直坐标,以便页面提交后还能回到刚才的位置?

先把滚动条的垂直坐标写进cookie,页面提交后读cookie,然后$('body').scrolltop(postion.y),有没有更好的方法?

阅读 9.3k
3 个回答

segmentfault 的回复是通过 question's url + #a-comment's id 来定位的。

比如我这条回复生成后,地址栏就自动变为了:
http://segmentfault.com/q/1010000000471809#a-1020000000471847
//你可以点击上面这个链接试试,指向的就是我现在的回复

问题 urlhttp://segmentfault.com/q/1010000000471809
回复 id :1020000000471847

我觉得应该就是简单的 js 跳转,举例说明:

<script>
  function jumpToMyComment() {
    window.location.hash='a-commentId';
  }
</script>

<button onclick="jumpToMyComment()">submit</button>
<div style="height:1000px"></div>
<p id="a-commentId">My comment</p>

采用AJAX局部刷新的方法也可以实现要求

找到相应节点,调用其scrollIntoView方法,可以使其移动到视窗中。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进