jquery实时滚动检测

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

如何设置多个滚动值?例如,我希望“子导航控制”在与“环绕导航滑块”不同的点进行切换。然而,他们目前都在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');
        }
    }
});

将它们拆分为两个独立的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
做了一个简单的附加。