当我到达新页面时,菜单项addClass消失

时间:2013-08-21 22:26:38

标签: jquery navigation superfish

您好我正在使用superfish菜单,并且对于jquery来说相对较新,当我使用addClass将类添加到菜单项时,它会添加类但是当新页面加载时它会消失。 所以要非常清楚我是否在主页并希望转到销售页面,我会将销售菜单项比作当我到达时拥有活动课程这就是我所拥有的

这是我的菜单

<div id="navbar">
<ul class="sf-menu sf-js-enabled" id="navmain">
<li><a href="/index.php">HOME</a></li>
<li><a href="/shop/sales/">SALES</a></li>
<li><a href="/shop/clothing/">CLOTHING</a></li>
<li><a href="/shop/accessories/">ACCESSORIES</a></li>
<li><a href="/cart.php">CART</a></li>
<li><a href="/wishlist.php">WISHLIST</a></li>
<li><a href="/contactus.php">CONTACT US</a></li>
<li><a href="/aboutus.php">ABOUT US</a></li>
</ul>
</div>

这是我的jquery

$('#navbar ul li').click(function(){
    $('#navbar li a').removeClass("active");
    $('#navbar li a').addClass("active");
    }); 

我这样做是否正确?

我也试过这个无济于事

$('#navbar ul li').click(function(e){
    $('#navbar li a').removeClass("active");
    $(e.target).addClass("active");
    }); 

1 个答案:

答案 0 :(得分:0)

更改页面或重新加载页面时,您所做的更改不会持续存在。您可以设置变量,然后根据该变量添加类。我最近不得不破解类似的东西,这就是我想出来的。

$(document).on("ajax:success", function(event, data, status, xhr) {
    console.log(data);
    if (data.redirect == "/invite#outstanding"){
        newValue = true
    }
    if (data.redirect) {
        window.location.href = data.redirect;

        if (newValue == true) {
            document.location.reload(true)
        }
    }