2012-01-31 79 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