您好我正在使用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");
});
答案 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)
}
}