4 个回答

scrollIntoView 或许你可以用这个api

document.scrollTop的值记录下来,然后返回到这个页面的时候,再重新赋值回去

你可以考虑使用1楼的建议,但是这个是一个新特性,并且处于草案的状态。

也可以使用 obj.offsetBottom 来获取距离底部的距离,历史消息记载完成后获取容器的 scrollHeight,减去之前的 offsetBottom ,然后设置 scrollTop

只是一个想法,并没有尝试过,不过现在的好像都是使用 transform 来做虚拟滚动,所以我这个想法也不知道能否实现。

以前写过“下拉更新”,大概是这样:

  1. scrollTop === 0
  2. touchstart 记录位置 y0
  3. touchmove 记录位置 y1,用 transform: translateY((y1 - y0) / 2) 来制造位移。之所以这么做是为了造成“很紧”的效果。
  4. touchend 之后,如果 y1 - y0 > 阈值 则加载

但是感觉你问题问错了,你应该是想问“上滚加载更多”吧?

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