2013-02-15 77 views
3

我幾乎沒有使用jQuery的經驗,所以在這裏呢...我已經做了大量的研究,但我無法弄清楚我在做什麼錯了..無法使用.delay()工作

我想讓兩個DIV在彼此之後淡入,但是在第一個和第二個之間有一個延遲。這是我到目前爲止有:

<script type="text/javascript"> 

$(document).ready(function(){ 

     $("div.1").hide(); 
     $("div.2").hide(); 
     $("div.1").fadeIn(400); 
     $("div.2").delay(800).fadeIn(400); 
}); 

</script> 
<div class="1"> 
This is DIV1</div> 
<div class="2"> 
This is DIV2</div> 

我真的希望你們能幫助我出去!感謝提前:)

+6

你的代碼工作,你有沒有添加jQuery到你的頁面? http://jsfiddle.net/HLHuH/ – Anton 2013-02-15 14:08:29

+0

是的,我有!感謝您的幫助,我將jQuery 1.3添加到了我的網站,非常愚蠢。 – FrK 2013-02-15 14:11:58

+0

淡入淡出總是需要800毫秒嗎?在不同的瀏覽器和機器上會發生什麼情況,回調要堅實得多 – Liam 2013-02-15 14:12:19

回答

2

.delay method是在jQuery 1.4中添加的,所以如果你在加載jQuery 1.3,正如你在評論中指出的那樣,那就是你的問題。你的代碼應該像1.4或更高版本一樣正確地工作。

2

你需要使用回調函數這樣:以這種方式

("div.1").fadeIn(400, function() {$("div.2").delay(800).fadeIn(400);}); 

div.1fadeIndiv.2淡出將火完成

無延遲

("div.1").fadeIn(400, function() {$("div.2").fadeIn(400);}); 
+0

這是沒有必要的。 – SeinopSys 2013-02-15 14:09:57

+0

實際上,您不需要調用'delay()'確保第一個動畫在第二個動畫開始時完成。 – 2013-02-15 14:10:07

+0

的確如此,但我認爲他想要在第一次和第二次褪色之間存在差距? – Liam 2013-02-15 14:10:38