如果.navigation.primary有一个.active类,下面的脚本应该为.global-header添加一个类(.active),但它似乎没有工作?
JS
if($(".navigation.primary").hasClass("active")) {
$('.global-header').addClass('active');
}
HTML
<header class="global-header">
<div class="site-navigation">
<div class="left-menu"></div>
<div class="right-menu"></div>
</div>
</header>
<nav class="navigation primary">Menu</nav>
答案 0 :(得分:1)
根据评论,当您加载页面时,如果navigation.primary
的元素没有active
类,但稍后,当某个操作发生时,将获得active
,那么您需要将代码周围的事件监听器添加到该事件中会触发类添加。
如果navigation.primary
在页面加载时有active
,则需要添加文档:
$(function() { //when document is ready
if($(".navigation.primary").hasClass("active")) {
$('.global-header').addClass('active');
}
});
或者如果发生事件,例如滚动窗口:
$(function() { //when document is ready
$(window).on('scroll', function() { //When scrolling
if($(".navigation.primary").hasClass("active")) {
$('.global-header').addClass('active');
}
});
});
答案 1 :(得分:0)
您的.navigation.primary
没有有效课程。通常情况下,$(".navigation.primary").hasClass("active")
会评估为false。
<nav class="navigation primary">Menu</nav>
这应该是:
<nav class="navigation primary active">Menu</nav>