jquery实时滚动检测
如何设置多个滚动值?例如,我希望“子导航控制”在与“环绕导航滑块”不同的点进行切换。然而,他们目前都在96岁转换。我试着拆散他们,但这破坏了剧本jquery实时滚动检测,jquery,scroll,live,Jquery,Scroll,Live,如何设置多个滚动值?例如,我希望“子导航控制”在与“环绕导航滑块”不同的点进行切换。然而,他们目前都在96岁转换。我试着拆散他们,但这破坏了剧本 var fixed = false; $(document).live("scroll", function(e) { if ($(this).scrollTop() > 96) { if (!fixed) { fixed = true; $('.setup-page .wr
var fixed = false;
$(document).live("scroll", function(e) {
if ($(this).scrollTop() > 96) {
if (!fixed) {
fixed = true;
$('.setup-page .wrap-nav-slider').addClass('nav-slider-fixed');
$('.setup-page .sub-nav-controls').addClass('sub-nav-controls-fixed');
}
} else {
if (fixed) {
fixed = false;
$('.setup-page .wrap-nav-slider').removeClass('nav-slider-fixed');
$('.setup-page .sub-nav-controls').removeClass('sub-nav-controls-fixed');
}
}
});
将它们拆分为两个独立的if语句,并使用
.hasClass
而不是布尔变量
$(document).live("scroll", function (e) {
if ($(this).scrollTop() > 96) {
$('.setup-page .wrap-nav-slider').addClass('nav-slider-fixed');
} else {
$('.setup-page .wrap-nav-slider').removeClass('nav-slider-fixed');
}
if ($(this).scrollTop() > 202) {
$('.setup-page .sub-nav-controls').addClass('sub-nav-controls-fixed');
} else {
$('.setup-page .sub-nav-controls').removeClass('sub-nav-controls-fixed');
}
});
免责声明:有更好的方法来执行此操作您使用的是哪个版本的jquery?无需检查hasClass,因为jquery将在addClass上执行此操作。@DGS,谢谢。出于某种原因,我认为它对
className
做了一个简单的附加。