Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вкладки (Табы) с запоминанием (https://javascript.ru/forum/misc/62097-vkladki-taby-s-zapominaniem.html)

SEMEon85 24.03.2016 12:28

Вкладки (Табы) с запоминанием
 
Доброе время суток, уважаемые программисты.
Вопрос такой после перезагрузки страницы нужно чтобы вкладка была активной, так у которой внутри совпадает ссылка с адресом
т.е. если у дочернего элемента есть класс here то класс у родителя будет current

<div class="nav">
<ul class="gnav">
  <li><a href="#" title="tab1">75 лет начала ВОВ</a></li>
  <li><a href="#" title="tab2">О городе</a></li>
</ul>
 
<div class="subnav">
  <div id="tab1">
     <ul>
       <li><a href="/node/301">Земляки в боях за Родину</a></li>
       <li><a href="/book-exhibitions">Книжные выставки</a></li>
      </ul>
   </div>
 
  <div id="tab2">
      <ul>
       <li><a href="/node/254">Краевое исследование «Книга как память о войне»</a></li>
       <li><a href="/node/260">Методическая копилка</a></li>
      </ul>
  </div>
</div>
</div>


(function($) {
$(document).ready(function() {
//Вкладки  ( это нужно если нет совпадений с ссылками
 $(".subnav div").hide(); // Скрываем содержание
 $(".gnav li:first").attr("id","current"); // Активируем первую закладку
 $(".subnav div:first").fadeIn(); // Выводим содержание
//   
  $('.gnav a').click(function(e) {
  e.preventDefault();  
  $(".subnav div").hide(); //Скрыть все содержание
  $(".gnav li").attr("id",""); //Сброс ID
  $(this).parent().attr("id","current"); // Активируем закладку
  $('#' + $(this).attr('title')).fadeIn(); // Выводим содержание текущей закладки
  });
 
//класс дочерней ссылки если совпадает адрес и ссылка  
$('.subnav a').each(function () { // проходим по нужным нам ссылками
var location = window.location.href; // переменная с адресом страницы
var link = this.href; // переменная с url ссылки
var result = location.match(link); // результат возвращает объект если совпадение найдено и null при обратном
 
if(result != null) { // если НЕ равно null
$('.subnav a:first').removeClass('here'); // сначала удаляем класс с индексной страницы
$(this).addClass('here'); // добавляем класс
}
});
   
})();
 } ) (jQuery);


примерно так


Может кто поможет???


Часовой пояс GMT +3, время: 11:26.