不需要
当我向下滚动时,通过添加类(.fix)来修复我的导航。它具有以下结构:
<div class="navigation-holder fix">
<div>
<nav id="navigation">
<ul id="main-nav">
<li class="menu-item-93" />
<li class="menu-item-95" />
<li class="menu-item-94" />
<li class="menu-item-96" />
<li class="menu-item-97" />
<li class="menu-item-98" />
</ul>
</nav>
</div>
</div>
LI元素在活动时会自动获得类(.ACT)。
这是固定导航的代码。
$("document").ready(function (jQuery) {
var nav = $('.navigation-holder');
$(window).scroll(function () {
if ($(this).scrollTop() > 125) {
nav.addClass("fix");
} else {
nav.removeClass("fix");
}
});
if ($(".menu-item-95").hasClass("act")) {
$(".fix").addClass("darkmenu")
};
});
我试图将另一个类(.darkmenu)添加到div(.fix)如果li(95,96,98)具有类(.ACT),但它不起作用...
将您的if条件放入滚动事件处理程序中,否则只有在加载DOM元素时才执行一次。
$(document).ready(function(jQuery) {
var nav = $('.navigation-holder');
$(window).scroll(function() {
if ($(this).scrollTop() > 125) {
nav.addClass("fix");
} else {
nav.removeClass("fix");
}
if ($(".menu-item-95").hasClass("act")) {
$(".fix").addClass("darkmenu")
}
});
});
document
""
我想你与另一个类一起做,然后在"准备回调"中
$(document).ready(function(){
if ( $(".menu-item-95").hasClass("act") ) {
$(".navigation-holder").addClass("darkmenu")};
}
});
嵌套将使脚本检查每个滚动步骤,我相信作者打算检查一次并在用户在特定页面上更改菜单外观。