2017-01-16 2 views
1

У меня есть страница 1 (частная), страница 2 (выход на пенсию) и страница 3 (информация). Страница 1 и 2 имеют множество ссылок, которые направляются на страницу 3. На стр. 3 у меня есть вертикальный навигатор с использованием шпиона аффикса/прокрутки.addClass to elements on re-direct page

В зависимости от того, какая страница (1 или 2) направляется на страницу 3, я хочу, чтобы навигация активных состояний была определенного цвета.

Так страница 1 имеет связи, такие как:

<ul class="nav nav-list private"> 
     <li><a href="useful-information.php?type=private#how" >How Right to Manage works</a></li> 
     <li><a href="useful-information.php?type=private#qualify" >Do you qualify</a></li> 
     ........ 
    </ul> 

Page 2 имеет связи, такие как:

 <ul class="nav nav-list retirement"> 
     <li><a href="useful-information.php?type=retirement#how" >How Right to Manage works</a></li> 
     <li><a href="useful-information.php?type=retirement#qualify" >Do you qualify</a></li> 
    ........... 
    </ul> 

На странице 3 У меня есть аффикс/scrollSpy нав, такие как:

<nav class="col-sm-4 hidden-xs" id="sub-nav"> 
    <ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="300"> 
    <li><a href="#how">How Right to Manage works</a></li> 
    <li><a href="#qualify">Do you qualify</a></li> 
    <li><a href="#rtm-process">The Right to Manage process</a></li> 
    <li><a href="#selection-process">Management Selection Process</a> </li> 
    <li><a href="#fees">Fees</a></li> 
    <li><a href="#about-leasehold">About leasehold</a></li> 
    <li><a href="#faq">Frequently Asked Questions</a></li> 
    </ul> 
</nav> 

Итак, если вы находитесь на странице 3 со страницы 1 (частный), я хочу, чтобы активные состояния на аффикс/scrollspy nav составляли BLUE. И если вы направлены на страницу 3 из страницы 2 (выход на пенсию) Я хочу, чтобы активные состояния на аффикс/scrollspy нав быть GREEN

Так у меня есть эти два стиля, что я хотел бы использовать для функции addClass:

#sub-nav .nav-pills .active a.ret, 
#sub-nav .nav-pills .active a.ret:hover 
{ 
background-color: #04A219; /* GREEN */ 
} 
#sub-nav .nav-pills .active a.pri, 
#sub-nav .nav-pills .active a.pri:hover 
{ 
background-color: #086BE4; /* BLUE */ 
} 

Я видел подобные проблемы, с которыми ответил на Stack»с помощью JQuery, но я не был в состоянии применить что-нибудь к моей проблеме успешно. Я думаю, что я прав, говоря, что простой addClass нельзя применить к перенаправленной странице, но есть обходные пути. Таким образом, понимание этого было бы очень оценено.

Заранее спасибо.

ответ

0

можно использовать referrer, чтобы увидеть, откуда вы пришли: -

var stateClass = document.referrer.indexOf('page-1-url') > -1 ? "pri" : "ret"; 
$('#sub-nav .nav-pills .active a').addClass(stateClass);