Получить предыдущий активный ли - PullRequest
0 голосов
/ 01 мая 2020

У меня есть эти URL:

<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, я хочу сохранить предыдущий выбранный URL в var, потому что я хочу использовать его для go назад, когда я нажмите на кнопку назад браузера.

Я пытался

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

Но это не работает. Есть идеи? Спасибо

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Предполагая, что вы перемещаетесь в пределах одной страницы, просто изменяя положение прокрутки и целевые разделы своей страницы, вы должны изменить вышеуказанную стратегию.

  1. Вы должны дать этим якорям немного га sh ссылки типа: #intro, #about, # contact-us

  2. Затем в hashChange перейдите к этим позициям. Затем, вернувшись назад в браузер, вы сможете вернуться на прежние позиции.

В современных браузерах (IE8 +, FF3.6 +, Chrome) вы можете просто прослушивать хэш-обмен событие в окне.

В некоторых старых браузерах вам необходим таймер, который постоянно проверяет location.ha sh. Есть jQuery плагинов, которые будут хорошо работать и в старых браузерах.

0 голосов
/ 02 мая 2020

Решено с

history.pushState()

and

history.replaceStat()
...