Файлы cookie и навигация по JavaScript (вкладки) - PullRequest
3 голосов
/ 13 сентября 2010

У меня есть вкладки навигации, и когда пользователь нажимает на вкладку, div изменяется с ajax. Мне бы хотелось, чтобы он помнил, на какой вкладке находился пользователь, когда пользователь меняет страницу. Я не сделал навигации по вкладкам, и я совершенно новичок в javascript / jquery. Вот javascript для вкладок:

 jQuery('#contentContainer #tabNavi .nav-item').each(function(i, item) {
        jQuery(item).bind('click', function() {
            if (jQuery('a', this).hasClass('activeTab')) {
                return;
            } else {
                jQuery('#contentContainer #tabNavi .nav-item' a').removeClass('activeTab').eq(i).addClass('activeTab');
                channel_id = jQuery('a', this).attr('href').split('#')[1];
                if (channel_id == _channel) {
                    return;
                }

            }
        })
    });

Ссылки навигации выглядят так:

<li><a href="#39">Link1</a></li>
<li><a href="#53">Link2</a></li

Теперь у меня есть значение href, сохраненное в cookie, но я не знаю, как я могу изменить активный класс на правильный элемент li, когда пользователь заходит на страницу, когда он уже был на сайте и щелкнул какую-то вкладку.

1 Ответ

2 голосов
/ 13 сентября 2010

Поставьте этот код после инициализации события клика (jQuery(item).bind('click', function() {...})

var selectedTab = $.cookie('selectedTab');

if (selectedTab) {
    $('li[href="' + selectedTab + '"]').click();
}

UPD

Немного модифицированный код

(function($) {

    $('#contentContainer #tabNavi .nav-item a').click(function() {

        var $link = $(this);
        $link.click(function() {
            if (!$link.hasClass('activeTab')) {
                $('#contentContainer #tabNavi .nav-item a.activeTab').removeClass('activeTab');
                $link.addClass('activeTab');
                $.cookie('selected-tab', $link.attr('href'));
            }

            return false;
        });

    });

    var selectedTab = $.cookie('selected-tab');
    if (selectedTab) {
        $('#contentContainer #tabNavi .nav-item a[href="' + selectedTab + '"]').click();
    }

})(jQuery);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...