Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Выделение активной категории при пагинации (https://javascript.ru/forum/events/61511-vydelenie-aktivnojj-kategorii-pri-paginacii.html)

Clodan 21.02.2016 17:44

Выделение активной категории при пагинации
 
Добрый день!
Столкнулся с такой проблемой, имеется простенькое меню типа:

<a href="#"><span id="portfolio-tags">Ванная</span>
<a href="#"><span id="portfolio-tags">Кухня</span>
<a href="#"><span id="portfolio-tags">Спальня</span>
<a href="#"><span id="portfolio-tags">Гостиная</span>


Необходимо было выделать активную ссылку, то есть ту категорию на который мы сейчас находимся, решение было таким:

<script>
 $(function() { 
var urlNow = window.location.href;
$('a[href="'+urlNow+'"]').addClass('active');
});
  </script>


Все работает, но столкнулся с другой проблемой, на страницах типа "Ванная" и т.д., имеется внутренняя пагинация вида: (страница: 1, 2, 3). При переходе на какую-то из них, естественно класс active в верхнем меню пропадает. Страница с пагинацией имеет вид http://site.ru/kuxnya-2, http://site.ru/kuxnya-3 и т.д., где "-2" или "-3" соответствует номеру страницы пагинации.

Вопрос, как сделать так, что класс active не исчезал у категории при переходе на какую-либо страницу пагинации???

Я новичок и самостоятельных знаний не хватает, была мысль перед поиском у ссылки удалять остаток типа -1,-2,-3 отвечающий за номер пагинации и только после этого производить поиск ссылки для добавления класса active но не знаю как это реализовать.((

Буду рад любой помощи или предложениям, спасибо!

Tecvid 21.02.2016 17:49

попроуйте так:
$(function() { 
    $('a').on('click', {
        $(this).addClass('active');
    };
});

Clodan 21.02.2016 17:59

Цитата:

Сообщение от Tecvid (Сообщение 408719)
попроуйте так:
$(function() { 
    $('a').on('click', {
        $(this).addClass('active');
    };
});

При такой конструкции active добавится к ссылке пагинации, а мне нужно чтобы он добавлялся к той категории которая сейчас используется. Другими словами у меня есть меню (категории) вверху сайта: ванная, кухня, спальня и т.д., мы выбираем например "Кухня", открывается страница где есть опять же меню: ванная, кухня, спальня... при этом "кухня" получила класс active, но в низу этой категории имеется пагинация 1-2-3 и т.д., и получается если мы переходим на вторую страницу категории "Кухни" то active теряется, ибо в верхнем меню нет ссылки типа http://site.ru/kuxnya-2 в этом и состоит вся беда((

рони 21.02.2016 18:01

Clodan,
это забота сервера а не браузера

рони 21.02.2016 18:05

Clodan,
$(function() {
var urlNow = window.location.href;
    urlNow = urlNow.split("-")[0];
$('a[href="'+urlNow+'"]').addClass('active');
});

Clodan 21.02.2016 18:06

Цитата:

Сообщение от рони (Сообщение 408723)
Clodan,
это забота сервера а не браузера

Ну в том и беда что возможности реализовать например это через категории того же WP нету((

А получить window.location.href, после чего удалить из него "-" и цифры "1,2,3,4,5..." и только потом произвести поиск ссылки нельзя никак?

Clodan 21.02.2016 18:12

Цитата:

Сообщение от рони (Сообщение 408725)
Clodan,
$(function() {
var urlNow = window.location.href;
    urlNow = urlNow.split("-")[0];
$('a[href="'+urlNow+'"]').addClass('active');
});

Что-то не работает(( urlNow = urlNow.split("-")[0]; вместо 0 нужно подставлять возможные принимаемые цифры или оставлять как есть?

рони 21.02.2016 18:20

Clodan,
urlNow = "http://site.ru/kuxnya-2"
       urlNow = urlNow.split("-")[0];
       alert(urlNow)

urlNow = "http://site.ru/kuxnya-1000002"
       urlNow = urlNow.split("-")[0];
       alert(urlNow)

Clodan 21.02.2016 18:44

Цитата:

Сообщение от рони (Сообщение 408730)
Clodan,
urlNow = "http://site.ru/kuxnya-2"
       urlNow = urlNow.split("-")[0];
       alert(urlNow)

urlNow = "http://site.ru/kuxnya-1000002"
       urlNow = urlNow.split("-")[0];
       alert(urlNow)

Разобрался, большое спасибо, то что нужно!


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