You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网页滚动多区间切换图片遇IF条件逻辑问题求助(附jQuery代码)

滚动区间切换图片的逻辑问题修复

嘿,我一眼就发现你代码里的核心问题啦——你的if条件逻辑写错了!一个滚动距离不可能同时落在1200-1900和2500-3500这两个完全不重叠的区间里,所以用&&连接这两个条件会让判断永远不成立,自然触发不了类的添加操作。

咱们把逻辑修正过来就行,只要把条件里的&&换成||(表示“满足任意一个区间即可”),就能实现你想要的效果:

var $logo = $("h6.navbar-brand-spacing > a");
$(window).scroll(function () {
    var e = $(this).scrollTop();
    // 用||代替&&,满足两个区间中的任意一个就添加类
    if ((e > 1200 && e < 1900) || (e > 2500 && e < 3500)) {
        $logo.addClass('navbar-brand-scroll');
    } else {
        $logo.removeClass('navbar-brand-scroll');
    }
});

如果想要逻辑更直观,也可以把条件拆成两个独立判断,效果是完全一致的:

var $logo = $("h6.navbar-brand-spacing > a");
$(window).scroll(function () {
    var e = $(this).scrollTop();
    // 判断是否处于第一个目标区间
    var inFirstRange = e > 1200 && e < 1900;
    // 判断是否处于第二个目标区间
    var inSecondRange = e > 2500 && e < 3500;
    
    if (inFirstRange || inSecondRange) {
        $logo.addClass('navbar-brand-scroll');
    } else {
        $logo.removeClass('navbar-brand-scroll');
    }
});

这样修改后,当页面滚动到1200-1900或者2500-3500的区间时,就会给目标元素添加navbar-brand-scroll类;滚动到其他位置时,类会被移除,完全符合你的需求~

内容的提问来源于stack exchange,提问作者Marco Jaimes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:52:51