0

嗨,我正在使用 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");
    }); 
4

1 回答 1

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)
        }
    }
于 2013-08-21T22:51:04.510 回答