获取之前的活动信息

问题描述 投票:0回答:1

我有这些网址。

<ul class="tm-nav-links">
      <li class="tm-nav-item active">
              <a href="#" data-linkid="0" data-align="right" class="tm-nav-link">Intro</a>
      </li>
      <li class="tm-nav-item">
              <a href="#" data-linkid="1" data-align="right" class="tm-nav-link">About</a>
      </li>
      <li class="tm-nav-item">
              <a href="#" data-linkid="1" data-align="right" class="tm-nav-link">Contact-us</a>
      </li>   
</ul>

例如,当我选择 contact-us 我想在var中保留之前选择的url,因为我想在我点击浏览器的后退按钮时使用它来返回。

我尝试了

$('.tm-nav-item li.active:last')

但它不工作,有什么办法吗?

javascript jquery menuitem
1个回答
0
投票

假设你在一个页面内导航只是通过改变滚动位置和目标页面的部分,你应该改变上述策略。

  1. 你应该给这些锚点一些哈希链接,比如。#intro, #about, #contact -us等。

  2. 然后在hashChange上滚动到这些位置。然后在浏览器返回时,你将能够返回到以前的位置。

在现代浏览器(IE8+,FF3.6+,Chrome)中,你可以只监听窗口的hashchange事件。

在一些旧的浏览器中,你需要一个定时器来持续检查location.hash。有一些jQuery插件也能很好地与旧浏览器配合。


-1
投票

解决方法

history.pushState()

and

history.replaceStat()
© www.soinside.com 2019 - 2024. All rights reserved.