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 слаб
  • Вопрос задан
  • 312 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Fly3110
web developer
Потому что при обработке ссылки, которая начинается с #, не происходит перезагрузки страницы и все присвоенные скриптом классы остаются. А при переходе по ссылке на новую страницу, меню грузится заново, без проставленных скриптом классов.

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

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

Войти через центр авторизации
Похожие вопросы