2013-09-26 192 views
10

在我的jquery函數中,我有一個加載器gif圖像。在我展示它之後,我想延遲一秒鐘,然後繼續執行其餘的代碼。 我該怎麼做?jquery延遲執行代碼

$('#loader').css('display', ''); 

    //// I want to put here a delay. 

    var myDate = new Date(); 
    myDate.setFullYear(2013,8,2); 

    var checkyear = myDate.getFullYear(); 
    var monthly =myDate.getMonth(); 
    var daily =myDate.getDate(); 

    $('#day').html(daily) ; 
    $('#month').html(months[monthly]) ; 
    $('#year').html(checkyear) ; 
+0

檢查'window.setTimeout()'在你選擇 – devnull69

+0

檢查這個答案出來的JS文件,http://stackoverflow.com/questions/1183872/put-a-delay-in-javascript – zahirdhada

+3

請使用在下一次您發佈已被問及(如答案)數十億次的問題之前,在stackoverflow上的搜索功能 – devnull69

回答

21

設置這樣的超時:

var delay = 1000; 
setTimeout(function() { 
// your code 
}, delay); 

http://jsfiddle.net/HuLTs/

+0

這在Firefox中很好用,但爲什麼不在Chrome中呢? –

+0

Chrome在我身上沒有問題。用你的問題創建一個新主題。 –

+0

你對吧我錯了...... –

4

你試過.delay

$('#loader').show(1).delay(1000).hide(1); 

的.delay()方法是最適合的jQuery排隊效果 之間延遲。因爲它是有限的 - 例如,它不提供一種方式來取消延遲-delay()不是替代JavaScript的本地 setTimeout函數,這可能更適合於某些使用 的情況。

演示:http://jsfiddle.net/SBrWa/

+2

'$('#loader')。show()。delay(1000).hide(0);'就夠了;)+1表示替代。就像內部一樣,關於delay()的DOC似乎沒有更多的準確。看起來像delay()可以使用jq 1.9方法取消.finish() –

4
$(document).ready(function(){ 
    setTimeout(function(){ 
     //your code 
    }, 
    2000); 
}); 

這裏20002 seconds

0

您可以使用此代碼,

$('#loader').css('display', ''); 

setTimeout(function() { 
    var myDate = new Date(); 
    myDate.setFullYear(2013,8,2); 

    var checkyear = myDate.getFullYear(); 
    var monthly =myDate.getMonth(); 
    var daily =myDate.getDate(); 

    $('#day').html(daily) ; 
    $('#month').html(months[monthly]) ; 
    $('#year').html(checkyear) ; 
}, 1000); 
0

試試這個,

$(function(){ 
    $('#loader').css('display', ''); 
    setTimeout(function(){ 
     var myDate = new Date(); 
     myDate.setFullYear(2013,8,2); 
     var checkyear = myDate.getFullYear(); 
     var monthly =myDate.getMonth(); 
     var daily =myDate.getDate(); 
     $('#day').html(daily) ; 
     $('#month').html(months[monthly]) ; 
     $('#year').html(checkyear) ; 
    },1000);// 1 second delay 
});