下拉加载更多,点击某个数据进去后,如果返回到上一次加载更多的位置?

问题如题,
环境:移动端
需求:下拉实现加载更多数据(下拉分页),点击某项数据进入后,如果返回如何返回至上一次加载更多的位置。想了很多办法没有实现...

求解,有什么更好的方法。

图例

clipboard.png

clipboard.png

如上图,点击返回后正常会跳转数据列表页的顶部,有什么办法可以实现返回至列表20位置处

阅读 6k
5 个回答

试试#锚点,假设列表页叫list.html,渲染列表时为每一个item添加一个id锚点,然后点击跳转的时候加url参数,比如item_info.html?callback_pos=#list18,返回时,先读取url上的锚点,设置url参数,list.html#list18,这样就可以自动跳转了,要注意的是,DOM中必须要有对应元素才能跳转

React大法好,用hashroute的话,可以通过修改相关API的回调函数,返回到记录的offsetTop

要返回到对应数据和位置,需要两点:
a.在跳转之前保存对应数据(列表中所有已经加载的数据);这一点可以使用localStorage存储,返回后再将localStorage中存储的数据重新渲染到列表;
b.跳转前还需要保存对应元素滚动的位置,返回时才能通过#锚点跳到上次位置;这个可以通过url参数,将其传到后面页面,返回时再读取url参数(通过#锚点方式跳到对应位置),如果不想使用url参数方式,也可使用localStorage存储。

仅提供思路,具体没有试过,你可以参考。

我也是通过锚点的办法实现的

新手上路,请多包涵

看详细的时候打开一个新的页面,返回的时候关闭不可以吗?这样列表页就不用考虑定位问题了

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