Jquery 开关案例条件无法正常工作



当他们到达某个div时,我有一些jquery可以更改我的整页背景,但不幸的是,切换大小写语句有问题

这是第一个代码(升序)

$(window).scroll(function () {
        var top = $(this).scrollTop();
        var slide1 = $('#slide1').offset().top;
        var slide2 = $('#slide2').offset().top;
        switch(true){
        case top >= slide1:
            menu.removeClass('bg-full').addClass('bg-full2');
            break;
        case top >= slide2:
            menu.removeClass('bg-full2').addClass('bg-full3');
            break;
        default:
        menu.removeClass('bg-full2').addClass('bg-full');}

上面的代码正在使用 bg-full(默认语句)/bgfull2(第 1 种情况),但 (第 2 种情况)被忽略

我正在尝试第二个代码(降序)

 $(window).scroll(function () {
    var top = $(this).scrollTop();
    var slide1 = $('#slide1').offset().top;
    var slide2 = $('#slide2').offset().top;
    switch(true){
    case top >= slide2:
        menu.removeClass('bg-full2').addClass('bg-full3');
        break;
    case top >= slide1:
        menu.removeClass('bg-full').addClass('bg-full2');
        break;
    default:
    menu.removeClass('bg-full2').addClass('bg-full');
    }

上面的代码正在使用 bg-full2(第 3 种情况)/bgfull3(第 2 种情况),但当我达到第 3 种情况时,(默认语句)被忽略

请帮助我谢谢,对不起,我的英语不好

你能试试这个吗,

 $(window).scroll(function () {
    var top = $(this).scrollTop();
    var slide1 = $('#slide1').offset().top;
    var slide2 = $('#slide2').offset().top;
    if (top > slide2 || top === slide2)
    {
        menu.removeClass('bg-full2').addClass('bg-full3');
        return;
    }
    if (top > slide1 || top === slide1)
    {
        menu.removeClass('bg-full').addClass('bg-full2');
        return;
    }
    menu.removeClass('bg-full2').addClass('bg-full');
  }

最新更新