Javascript 若存在子类,则将该类添加到父类
在滚动页面上,将新类添加到子类,如果将该类添加到子类,则还应将新类添加到父类 这是我的代码(由于Drupal框架,所以包装成这样):Javascript 若存在子类,则将该类添加到父类,javascript,html,jquery,Javascript,Html,Jquery,在滚动页面上,将新类添加到子类,如果将该类添加到子类,则还应将新类添加到父类 这是我的代码(由于Drupal框架,所以包装成这样): #头包装器是父级。如果我向下滚动,则stickynav active将(由某些模块)添加到#navigation中,因此它在向下滚动后开始存在,但是我的代码没有将stickynav active添加到#header wrapper?我认为这是因为当您将类stickynav active添加到导航时,jQuery没有侦听事件 为什么不尝试将类stickynav ac
#头包装器
是父级。如果我向下滚动,则stickynav active
将(由某些模块)添加到#navigation
中,因此它在向下滚动后开始存在,但是我的代码没有将stickynav active
添加到#header wrapper
?我认为这是因为当您将类stickynav active
添加到导航时,jQuery没有侦听事件
为什么不尝试将类stickynav active
添加到#header wrapper
中,就像有人建议将其添加到滚动事件中一样
(function($) {
Drupal.behaviors.myClasses = {
attach: function (context, settings) {
$(window).scroll(function() {
if($("#navigation").hasClass("stickynav-active")){
$("#header-wrapper").addClass("sticky-active");
}
else {
$("#header-wrapper").removeClass("sticky-active");
}
});
}
};
})(jQuery);
所以听起来您需要绑定到scroll事件,或者查看变异观察者,或者首先更改添加类的代码。
(function($) {
Drupal.behaviors.myClasses = {
attach: function (context, settings) {
$(window).scroll(function() {
if($("#navigation").hasClass("stickynav-active")){
$("#header-wrapper").addClass("sticky-active");
}
else {
$("#header-wrapper").removeClass("sticky-active");
}
});
}
};
})(jQuery);