如何设置多个滚动值?例如,我希望“sub-nav-controls”切换到与“wrap-nav-slider”不同的点。然而,他们目前都在96切换。我试图打破它们,但它打破了脚本。
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');
}
}
});
答案 0 :(得分:1)
将它们拆分为两个单独的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');
}
});
免责声明:有更好的方法可以做到这一点