簡體   English   中英

滾動時更改元素的不透明度

[英]On scroll change element opacity

我已經使它幾乎可以工作了,但是不透明性變化有多快還有一個問題,當我向上滾動時也有問題。

jsfiddle http://jsfiddle.net/dp1b51fs/2/

  1. 我確實將其設置為5000 >> $(".bgimage").animate({opacity: 0.4}, "5000"); 但是它的速度似乎和我使用500時的速度相同。我在做什么錯? (曾嘗試編寫“ 5000ms”和“ 500s”,但這是相同的)
  2. 當我向下滾動時,該元素(背景圖像)會淡出至0.4不透明度。 但是,當我向上滾動時,不透明度將變為1,並且不會消失或類似。

您需要在動畫之前運行.stop() ,否則就只是停止嘗試嘗試向上滾動的動畫:

$(document).scroll(function () {
    if ($(this).scrollTop() > 500) {
      $(".bgimage").stop().animate({opacity: 0.4}, 500);
    } else {
      $(".bgimage").stop().animate({opacity: 1}, 500);
    }

});

的jsfiddle


Edit:要澄清我對您的代碼做了什么:

我刪除了$(this).scrollTop() > 1因為如果$(this).scrollTop() > 500為true,那么另一個也已經為true,因此最終不需要。

我將滾動的動畫包裝在else語句中,因為您最初執行的操作是觸發用戶滾動的任何內容(即使它們大於500),看起來也很混亂,並且您一次要觸發兩個功能。

我還刪除了return因為在您的情況下,我認為沒有用過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM