2016-01-09 78 views
3

我一直試圖在.fadeTo上添加一個div褪色,終於得到了它的工作.fadeTo沒有在慢慢

我有這樣的:

<section class= "hue innerS1" id="hue" > 
    <p class="huep innerS1">BRILLIANT-HUED</p> 

    <script> 
     $(window).scroll(function() { 
      $('[class^="hue"]').each(function() { 
       if (($(this).offset().top - $(window).scrollTop()) < 150) { 
        $(this).stop().fadeTo('slow', 1); 
       } else { 
        $(this).stop().fadeTo('slow', 0); 
       } 
      }); 
     }); 
    </script> 

</section> 

但是當我滾動到它以毫秒爲單位顯示,而不是它設置的值。當我滾動回去div。fadeTo然後。

我不能看到最新的錯誤,因爲這兩行代碼是相同的,所以它應該工作,不是嗎?

編輯

這裏是jsFiddle

但你可以看到它的工作原理在此我可能需要更新,我使用jQuery。它有點有趣,雖然

+1

你能用jsFiddle.net的例子重現這個嗎? – j08691

+0

@ j08691得到了一個排序,發佈時忘了添加它。 –

+1

對我來說看起來很好,你試圖達到的實際行爲是什麼?你希望它在距屏幕頂部150px處淡入?此外,JSFiddle JavaScript與您在問題中提供的代碼示例不同...... – timothyclifford

回答

2

解決方案可能在使用數字而不是字。

因此,而不是字slow使用任何數字(更高的數字,更多的時間 - 它在這裏,例如800 - 但數量可能會根據您的需要而不同)。它可以讓你確切地設定它會做多長時間。

$(window).scroll(function() { 
     $('[class^="hue"]').each(function() { 
      if (($(this).offset().top - $(window).scrollTop()) < 150) { 
       $(this).stop().fadeTo(800, 1); 
      } else { 
       $(this).stop().fadeTo(800, 0); 
      } 
     }); 
    });