我的网站中有各种“活动”类的元素。这被设置为默认值,我想在用户向下滚动页面时立即删除该类,但是在返回到页面顶部时也恢复该类(下面的代码都以10px延迟实现)。 / p>
除此之外,如果用户通过单击#sidebarToggle手动添加“活动”类,则会在滚动时立即删除“活动”类,忽略代码中指定的10px延迟。
如果有人可以就上述任何一个问题提供任何帮助,我们将不胜感激。谢谢。
$(window).scroll(function(){
if($(window).scrollTop()>10) {
$("#sidebar").removeClass("active");
$("#sidebarToggle").removeClass("active");
}
else {
$("#sidebar").addClass("active");
$("#sidebarToggle").addClass("active");
}
});
答案 0 :(得分:1)
我认为你必须切换一个父元素的类来聚焦这里的子元素,比如body标签和apply" active"这样的行为:
body.active #one {}
body.active #two {}
body.active #three {}
然后在Javascript上你只需要切换第一类元素(正文)并验证活动的classe是否已经应用如下:
$(window).scroll(function(){
if($(window).scrollTop() > 100 && $('body').hasClass('active')) {
$('body').removeClass("active");
} else if(!$('body').hasClass('active')) {
$('body').addClass("active");
}
});
随着您的方便适应。