我试图检查div .full-screen
是否在网页上不存在,这是正确的方法吗?
if (!$(".full-screen").length) {
$(window).scroll(function() {
if ($(this).scrollTop() < 50) { // this refers to window
$(".header-container").addClass('transparent-menu');
} else {
$(".header-container").removeClass('transparent-menu');
}
});
}
即使我知道该课程不存在于页面上,内部函数也会运行。
答案 0 :(得分:1)
如果您希望在代码中的类 Not Found 时运行内部函数,则必须使用
if (!$(".full-screen").length){inner functions}
如果您希望在代码中找到类时运行内部函数,则必须使用
if ($(".full-screen").length){inner functions}
答案 1 :(得分:0)
考虑一个场景,该类存在并且您的逻辑与窗口滚动事件绑定,但是当该类丢失时,它还需要取消绑定,因此请尝试:
if (!$(".full-screen").length) {
$(window).on("scroll", function() {
if ($(this).scrollTop() < 50) { // this refers to window
$(".header-container").addClass('transparent-menu');
} else {
$(".header-container").removeClass('transparent-menu');
}
});
} else {
$(window).off("scroll");
}
答案 2 :(得分:0)
您可以在文档上尝试使用hasClass()方法:
if (!$(document).hasClass(".full-screen")) {
$(window).scroll(function() {
if ($(this).scrollTop() < 50) { // this refers to window
$(".header-container").addClass('transparent-menu');
} else {
$(".header-container").removeClass('transparent-menu');
}
});
}