Задать вопрос
sugarufc
@sugarufc

Почему класс исчезает при переходе по ссылке?

Имеется обыкновенное меню
<div id="navigation">
			<ul>
			    <li><a href="#">Главная</a></li>
			    <li><a href="#">Личный кабинет</a></li>
			    <li><a href="#">Помощь</a></li>
			    <li><a href="?view=contact">Контакты</a></li>
			</ul>
	</div>

пытаюсь присвоить класс active активному пункту меню
$('#navigation ul li a').click(function(){
       $('#navigation ul li a').removeClass("active");
        $(this).addClass("active");
    })
всё работает, но проблема в том, что при переходе по ссылке, класс active у активного пункта не сохраняется, а ссылки на которых стоят заглушки (#) всё сохраняется. В чём может быть проблема подскажите пожалуйста.

P.S. В jQuery слаб
  • Вопрос задан
  • 316 просмотров
Подписаться Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Fly3110
web developer
Потому что при обработке ссылки, которая начинается с #, не происходит перезагрузки страницы и все присвоенные скриптом классы остаются. А при переходе по ссылке на новую страницу, меню грузится заново, без проставленных скриптом классов.

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

Войдите, чтобы написать ответ

Похожие вопросы