У меня есть следующий код JQuery относительно моих вкладок:

$("#onglet>ul>li").click(function(){

      $("#onglet ul li").removeClass('Selectionne').addClass("OngletPrincipal");    
  $(this).removeClass().addClass('Selectionne');
  $(this).unbind('mouseenter mouseleave');

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

<div id="onglet">
    <ul >
      <li class="OngletPrincipal">
      <a href="masterPage.html">Accueil</a>
      </li>
      <li class="OngletPrincipal">
        <a href="masterPage.html">Catalogue </a>
      </li>
      <li class="OngletPrincipal">
      <a href="Societe.html"> Nous  </a>
      </li>
      <li class="OngletPrincipal">
        <a href="contact.html"> Contacts     </a>
      </li>
      <li class="OngletPrincipal">
       <a href="tableauBord.html">   Espace client</a>
      </li>
    </ul>
  </div> 

Как я должен держать вкладку с классом "Selectionne"? .... спасибо kkkkk вам!

0
KitAndKat 28 Июн 2010 в 19:21

2 ответа

Лучший ответ

Если вы загружаете новую статическую страницу, а выбранная вкладка является просто ссылкой на эту страницу, почему выбранная вкладка жестко не закодирована на каждой странице? Если вы обслуживаете свои страницы динамически, почему сервер не устанавливает выбранный класс при создании страницы? Похоже, что эти вкладки перемещаются между набором статических HTML-страниц, поэтому я не уверен, почему вам нужно устанавливать этот класс после загрузки страницы с помощью JavaScript.

Но если есть какая-то причина, по которой мне не хватает установки этого после загрузки страницы, вы можете изучить использование jquery адрес или какой-либо другой плагин типа истории, чтобы сохранить выбранную вкладку в URL-адресе, чтобы вы могли анализировать ее после загрузки страницы, что-то вроде http://fake.com/foo.html#/tab1. Или без плагина вы можете просто проверить, какую страницу вы выбрали при загрузке, и установить вкладку таким образом:

$(document).ready(function(){
    var loc = window.location.toString();
    var page = loc.substring(
        loc.lastIndexOf('/',0) + 1, 
        loc.length);
    $('#onglet>ul>li>a[href$="' + page + '"]').parent().addClass('Selectionne');
});
4
Ryan Lynch 28 Июн 2010 в 19:22

Если вы полностью перезагрузите / загрузите страницу в href, это будет другая страница, следовательно, все будет перезагружено, и ваши классы, добавленные js, вернутся к исходным классам.

Вам нужно будет запомнить его на стороне сервера или передать его в параметре url, который вы анализируете в js и видите, что запрашивается, активируя класс справа li.

Или динамически загружайте контент и оставайтесь на той же странице.

2
Redlab 28 Июн 2010 в 16:00