cari

Rumah  >  Soal Jawab  >  teks badan

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

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

黄舟黄舟2820 hari yang lalu272

membalas semua(6)saya akan balas

  • ringa_lee

    ringa_lee2017-04-10 15:09:18

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

    同一个页面内:

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

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

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

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

    balas
    0
  • PHP中文网

    PHP中文网2017-04-10 15:09:18

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

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

    balas
    0
  • 阿神

    阿神2017-04-10 15:09:18

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

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

    balas
    0
  • 怪我咯

    怪我咯2017-04-10 15:09:18

    window.history.back();
    

    balas
    0
  • 黄舟

    黄舟2017-04-10 15:09:18

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

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:09:18

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

    balas
    0
  • Batalbalas