我試圖讓一個變量有一個設置的顏色,直到頁面上的某個滾動距離已經達到,一旦它達到那個點我希望變量不再是那個顏色並恢復到正常設置。一旦我向後滾動頁面,我不希望顏色返回。我首先想到的是JavaScript do while循環,但我不確定這是否是最好的方式,甚至不知道如何在jQuery中做到這一點。如何在jquery中寫一個do while while循環
到目前爲止,這是我
if($('body').hasClass('page-template-homepage-php')){
var oneShot = jQuery(window).scrollTop()
var opacity = jQuery(window).scrollTop()/100;
if(opacity > 1){ opacity = 1; }
//do{
// opacity = 1;} while(
// oneShot < 201);
$('.background-wrapper').css('background-color', 'rgba(0, 0, 0, ' + opacity +')');
}
我最初的嘗試是
for(oneShot < 200; opacity = 1){
if(oneShot = 200){
break;
}
}
其次
do{
opacity = 1;} while(
oneShot < 201);
兩個使用JavaScript,而不是jQuery的明顯
個想法?
澄清:目前,當頁面加載時,問題標題爲純黑色。一旦滾動一個像素,上面貼出的代碼會使標題不透明,然後當滾動繼續向下時,會淡出爲黑色。預期的效果是加載頁面,使頁眉黑色,向下滾動超過100px,而頁眉保持黑色。一旦傳遞100px,當滾動備份不透明淡入生效。 **前
的Java = JavaScript中,javasript == jQuery的。也不要寫無限循環,他們會阻止用戶界面。雖然也許很苛刻,但在瀏覽器設置中,您的方法完全錯誤。閱讀有關事件/事件偵聽器的信息。 – Yoshi
我只是一個網絡用戶愛好者。我來這裏是因爲我知道我不知道。感謝Yoshi – user3819397
的評論請看https://api.jquery.com/scroll/(甚至有演示)。但是,我個人建議在使用任何庫之前學習JavaScript(儘管這只是一個意見)。 – Yoshi