1 回答

TA貢獻1859條經驗 獲得超6個贊
如果滾動偏移量大于 90,程序仍將進入第一種情況,因為(顯然)大于 90 的數(shù)字也必須大于 40。
這將導致該else if部分被跳過,第一個元素將始終被關注。
要解決此問題,您可以:
移動.之前的> 90部分。這樣,如果它大于 90,它將進入那種情況,并跳過其他情況:> 40
window.addEventListener("scroll", function(event) {
var scroll = this.scrollY;
if (scroll > 90)
{document.getElementById("Gegevens").style.boxShadow="";
document.getElementById("Uren").style.boxShadow="0px 0px 45px -4px rgba(0,0,0,0.35)"}
else if (scroll > 40)
{document.getElementById("Gegevens").style.boxShadow="0px 0px 45px -4px rgba(0,0,0,0.35)";
document.getElementById("Uren").style.boxShadow=""}
else
{document.getElementById("Gegevens").style.boxShadow="";
document.getElementById("Uren").style.boxShadow=""}
})
添加另一個條件來檢查它是否足夠大以容納第二個元素:
window.addEventListener("scroll", function(event) {
var scroll = this.scrollY;
if (scroll > 40 && scroll <= 90)
{document.getElementById("Gegevens").style.boxShadow="0px 0px 45px -4px rgba(0,0,0,0.35)";
document.getElementById("Uren").style.boxShadow=""}
else if (scroll > 90)
{document.getElementById("Gegevens").style.boxShadow="";
document.getElementById("Uren").style.boxShadow="0px 0px 45px -4px rgba(0,0,0,0.35)"}
else
{document.getElementById("Gegevens").style.boxShadow="";
document.getElementById("Uren").style.boxShadow=""}
})
添加回答
舉報