2012-01-31 78 views
1

我有一個彩色表格。當它關閉時,另一個帶有感謝信息的彩盒會彈出,然後窗口繼續到目標頁面。如果它來自成功提交,我只想要延遲。我有這個工作,但沒有延遲。暫停功能,通常嫌疑人看起來不起作用

$form.validate({ 
    submitHandler: function(form) { 
     form.submit(); 
     $(document).bind('cbox_closed', function() { 
      $.colorbox({href: 'thank_you.html'}); 
     });$.colorbox.close(); 
    }, 
//JSON STUFF 
}); 

我想延遲第二個colorbox關閉功能8秒。

我已經試過

});$.delay(8000).colorbox.close(); 

setTimeout($.colorbox.close(),8000); 

但既不似乎幫助。

回答

3

setTimeout($.colorbox.close(),8000)將調用close()馬上,因爲你正在執行的close()方法,而不是你應該通過一個處理程序或函數指針作爲第一個參數setTimeout方法。嘗試這個。

setTimeout(function(){ 
    $.colorbox.close() 
}, 8000); 
+0

然後會發生什麼是由於某種原因,colorbox似乎中斷,並加載一個空白頁面。 – 2012-01-31 21:39:00

+0

我不理解你。 – ShankarSangoli 2012-01-31 21:41:51

+0

如果我使用setTimeout,出於某種原因,我得到的不是一個colorbox,而是整個瀏覽器重新加載,但是有一個空白頁面。那裏什麼都沒有。如果我不使用它,它會正常工作。 – 2012-01-31 22:59:39