2013-08-31 60 views
0

32,我想div來顯示出來只是5秒鐘後的文件已經準備好,所以我用

$(document).ready(function(){ 
    delay(function(){ 
     $('#up').slideDown("slow"); 
    },4000); 
}); 

,但它不工作,文件加載時我不使用延時功能。 它的工作原理使用:

$(document).ready(function(){ 
    setTimeout(function(){ 
     $('.hidden').slideDown("slow"); 
    },4000); 
}); 

而且我不希望使用set-timeout功能,所以我怎麼能做到這一點有延時功能。

+0

爲什麼你不想使用'setTimeout'?這正是它的目的。我假設你對jQuery的'delay()'感到困惑,因爲它設計用於延遲jQuery動畫隊列中的動作,所以它無法工作。 –

回答

4

有沒有所謂的在JavaScript的延遲,你需要使用的setTimeout你上述的方法不同。

$(document).ready(function() { 
    setTimeout(function() { 
     $('.hidden').slideDown("slow"); 
    }, 4000); 
}); 

還有的jQuery提供.delay()方法,它是在隊列中添加延遲項目

$('.hidden').delay(4000).slideDown("slow"); 

演示:Fiddle

仍,如果你不希望使用setTimeout然後爲它創建一個別名(只是爲了好玩

var delay = setTimeout; 
delay(function() { 
    $('.hidden').slideDown("slow"); 
}, 4000); 
+1

OP提到它使用'setTimeout',但他不想使用它 –

+0

@TusharGupta是OP的問題的解決方案 –

+0

他已經知道他想要的解決方案。 –

1

您可以使用此代碼

.slideDown()

$('#up').slideDown(4000); //time in ms 
+2

這會讓'slideDown'花費4秒,而不是等待4秒。 –

+0

是的,我知道,但沒有使用他不想要的'setTimeout'的選擇。 –

+0

但它不符合他的要求。 –

1

DEMO

試試這個

$(document).ready(function() { 
    $('.hidden').delay(4000).slideDown("slow"); 
}); 

希望這會有所幫助,謝謝

相關問題