手机页面从详情页返回列表页回到原来位置有什么方法?

有两个手机页面,A是列表页面,有很多列表项,数据加载方式是翻页或者滚动加载,B是详细页面,从A列表页点击其中一个链接进入详细页面,返回的时候怎么样回到原来位置?要考虑兼容性,具体情况如图,请大家指教。
图片描述

阅读 13.8k
6 个回答

用hash/url(pushstate)来记录页面状态(加载到哪一页),同时监测hashchange/pushstate/popstate事件来做ajax加载。

同一个页面内:

滚动 --(触发)-> 地址变化
地址变化 --(触发)-> 地址分析,ajax加载

切页前后,由于hashchange事件(似乎?记不太清了)不会默认触发,因此需要再挂一个domready/load:

domready --(触发)-> 地址分析,ajax加载

当然做成单页也是常见的做法,这个时候用hash/url纪录状态也有其他的好处(重入页面回到原状态啦,可以前进和后退啦)。

锚点是一种,但是你没觉得为了这样一个功能还要添加锚点会很麻烦吗?详情页还得添加参数去跳转到具体位置,如果构建不做这样的操作那不是还得脚本动态的插入锚点?

针对你这种,“不刷新页面”不就能实现了吗?具体实现你按照这个准则就可以做!比如这“两个页面”其实是在同一个页面的不同层。。

最简单的办法,左边的列表参考html 锚点定位的办法,返回时定位到之前点击项不就行了

当然也有很多的控件支持你这个功能,多搜搜

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