所以我试图只在主体没有“ shifter-open”类时才执行脚本。该脚本将“ shifter-open”类添加到主体:
$( document ).ready(function() {
$("body").addClass("shifter shifter-active");
$('.shifter-handle').click( function() {
$("body").toggleClass("shifter-open");
$(".scrollheader").toggleClass("hovered");
});
});
我的脚本仅应在主体没有该类的情况下执行,如下所示:(注意我如何使用if(!$(“ body”))
if (!$("body").hasClass("shifter-open")) {
$( document ).ready(function() {
var $header = $(".scrollheader");
$header.hover(function() {
if ($(window).scrollTop() == 0) {
$header.addClass('hovered');
}
},function() {
if ($header.hasClass('hovered')) {
$header.removeClass('hovered');
}
});
});
}
最佳答案
您需要检查事件处理程序内部,因为在页面加载后用户可以切换该类
$(document).ready(function() {
var $header = $(".scrollheader");
$header.hover(function() {
if ($("body").hasClass("shifter-open") && $(window).scrollTop() == 0) {
$header.addClass('hovered');
}
}, function() {
if ($("body").hasClass("shifter-open")) {// no need to check if the hovered class exists
$header.removeClass('hovered');
}
});
});
关于javascript - 如果主体没有类,则运行代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43559195/