Кроме того, каждая ссылка имеет активный стиль класса (nav-01-on для nav-01, nav-02-on для nav-02 ...).
Поскольку вы работаете с классами, вам не нужно иметь другое имя класса для описания «активного» состояния ссылок. Это классная вещь о CSS-классах.
Поскольку ваши ссылки уже имеют уникальный идентификатор в виде атрибута id
, который вы им указали, вам нужно всего лишь применить общий класс «активное состояние», например on
(может быть, что угодно) , Тогда в вашем CSS вы могли бы сделать что-то вроде
.on {
/* general rules for elements with the .on class */
}
#tab01.on {
/* specific rules for element #tab01 with the .on class */
}
Я хотел бы изменить класс (например, «нав-01» в «нав-01-на»), когда нажмите на него.
Поскольку ваш вопрос отмечен как jquery
Я буду использовать jQuery, так что вот наивное решение того, что вы хотите. Я уверен, вы можете улучшить его.
//We start assuming we have no active link
var $activeLink = null;
//We apply a listener to every element with the class .nav-link, using jQuery
$('.nav-link').click(function() {
if ($activeLink) {
$activeLink.removeClass('on');
}
//Store the link we clicked on as the active link.
//Notice we are wrapping it with the jQuery function,
//so $activeLink is a jQuery object
$activeLink = $(this);
$activeLink.addClass('on');
});
Вот скрипку вышеперечисленное: https://jsfiddle.net/p1tumym9/4/
спасибо Митчу. Отличное решение !!! ;-) –
Добро пожаловать. Если вы нашли достаточно объяснительным, и он ответил на ваш вопрос, подумайте о принятии его в качестве ответа. –
О, вы уже приняли другой ответ, не видели этого. –