当他们到达某个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');
}