所以我的代码应该在一个元素中添加一个类,如果正文有某个类不起作用。它看起来像这样:
if ($("body").hasClass("shifter-open")) {
$(".scrollheader").addClass("hovered");
}
我认为这是因为Jquery代码使用以下代码将此类(shifter-open)添加到正文中:
$( document ).ready(function() {
$("body").addClass("shifter shifter-active");
$('.shifter-handle').click( function() {
$("body").toggleClass("shifter-open", 1000);
});
});
有没有办法让我的代码工作?并且可能将这两个代码组合成一个?
答案 0 :(得分:0)
假设您也想要删除课程,只需模仿身体正在做的事情。您可以在hovered
上切换班级.scrollheader
,就像正在切换其shift-open
班级一样。
$( document ).ready(function() {
$("body").addClass("shifter shifter-active");
$('.shifter-handle').click( function() { //When shifter-handle is clicked
$("body").toggleClass("shifter-open"); //Toggle "shifter-open" on the body
$(".scrollheader").toggleClass("hovered"); //Toggle "hovered" on .scrollheader
});
});
此外,toggleClass()的第二个参数需要boolean
来确定是否应激活切换。您1000
的第二个参数是永久truthy,因此根本没有理由包含它。
答案 1 :(得分:0)
您的条件:
if ($("body").hasClass("shifter-open")) {
$(".scrollheader").addClass("hovered");
}
除非您有超时或间隔轮询,否则只会被评估一次。更好的解决方案可能是将这两个部分合二为一。如:
$( document ).ready(function() {
$("body").addClass("shifter shifter-active");
$('.shifter-handle').click( function() {
$("body").toggleClass("shifter-open", 1000);
$(".scrollheader").toggleClass("hovered");
});
});
或类似的东西。您可能还想检查toggleClass的文档,因为它似乎没有将整数作为第二个参数