我有一些jquery来改变我的整页背景,当他们达到一些div时,但不幸的是,切换案例陈述有问题
这是第一个代码(升序)
$(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(第一种情况)但是(第二种情况 )被忽略
我正在尝试第二个代码(降序)
$(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(第三种情况)/ bgfull3(第二种情况)但是(默认声明 )当我达到第三个案例
时,我会被忽略 请帮助,谢谢, 抱歉,我的英文不好答案 0 :(得分:0)
请你试试这个,
$(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');
}