javascript - 手机页面从详情页返回列表页回到原来位置有什么方法?
黄舟
黄舟 2017-04-10 15:07:18
0
6
271

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(6)
左手右手慢动作

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

同一个页面内:

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

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

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

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

Ty80

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

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

阿神

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

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

刘奇
window.history.back();
黄舟

自己封装了一个插件:
https://github.com/luchanan/d...

Peter_Zhu

在吗?我现在也遇见这样的效果问题,不知道怎么做,能说的清楚点吗?

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template