2016-08-18 110 views
2

使用jQuery滾動時,我有這個身體背景顏色過渡。當滾動時,身體背景顏色不會改變

的代碼從色1(其爲白色)的作品到顏色2(黑色),和向後以及,從色彩2至顏色1.

http://codepen.io/wRancho/pen/Wxmgqx

然而,顏色3或4色沒有工作,我已經對if語句進行了幾處修改,但我無法弄清楚它爲什麼不能用於兩種以上的顏色。

body { height: 2400px; transition: background-color 1s ease-in; } 


$(window).scroll(function() {  
var scroll = $(window).scrollTop(); 

if (scroll == 0 || scroll < 500) { 
    $("body").css("background-color","white"); 
} 
else if (scroll >= 500 || scroll < 1000) { 
    $("body").css("background-color","black"); 
} 
else if (scroll >= 1000 || scroll < 1500) { 
    $("body").css("background-color","green"); 
} 
else { 
    $("body").css("background-color","white"); 
}}); 

謝謝!

回答

2

您沒有使用正確的比較運算符而不是||。使用& &

這裏是工作的js代碼

$(window).scroll(function() {  
    var scroll = $(window).scrollTop(); 

    if (scroll < 500) { 
     $("body").css("background-color","white"); 
    } 
    else if (scroll >= 500 && scroll < 1000) { 
     $("body").css("background-color","black"); 
    } 
    else if (scroll >= 1000 && scroll < 1500) { 
     $("body").css("background-color","green"); 
    } 
    else { 
     $("body").css("background-color","white"); 
    } 
}); 

這裏是codepen工作呢版本

+0

謝謝!現在我覺得有點愚蠢 –

1

使用 '& &' 而不是 '||'在你的條件下