Выделение активного пункта меню при ajax запросе
Проблема.
Страница состоит из двух частей, левой и правой.
При первоначальной загрузке страницы в левую выгружается основное меню из бд:
Пункт1 a href="#?$number1"
Пункт2 a href="#?$number2"
Пункт3 a href="#?$number3"
По этим ссылкам в правую часть страницы подгружается соответствующий контент ajax get запросом. Все работает быстро и хорошо, без перезагрузки страницы.
Но когда решил подсветить соответствующие пункты меню в зависимости от загруженного контента - ничего не получается.
Для выделения пунктов меню использую классический код:
$(function(){
$('.a').each(function()
{
var location = window.location.href;
var link = this.href;
if (location == link)
$(this).addClass('active');
});
});
Функция работает, но странным образом, с опозданием на один шаг.
То есть кликаем на пункт меню, в адрес строке значение меняется на
site.ru/handler.php#?id=100, при этом с пунктом меню, который отвечает за id=100 ничего не происходит. Контент по ajax успешно загружается.
И теперь, если обновить страницу с адресом site.ru/handler.php#?id=100, то пункт меню наконец-то загорается нужным цветом.
Подскажите, кто разбирается.
Эта проблема вообще решаемая? Или при использовании ajax загрузки выделение пунктов меню в принципе невозможно?
|