【问题标题】:Cookies and javascript navigation (tabs)Cookies 和 javascript 导航(标签)
【发布时间】:2011-04-11 19:42:17
【问题描述】:

我有一个导航选项卡,当用户单击一个选项卡时,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 项目,当用户进入页面并且他之前已经在网站上并且他点击了一些选项卡时。

【问题讨论】:

    标签: javascript jquery cookies navigation


    【解决方案1】:

    将此代码放在点击事件初始化后(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);
    

    【讨论】:

    • 但这不是在用户点击导航后发生的吗?我想在页面加载时自动切换到右侧标签。
    猜你喜欢
    • 2012-01-22
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2021-08-12
    • 2013-06-13
    相关资源
    最近更新 更多