приостановить функцию, обычные подозреваемые не работают - PullRequest
1 голос
/ 01 февраля 2012

У меня есть форма в палитре.Когда он закрывается, появляется другое окно с сообщением благодарности, затем окно переходит на целевую страницу.Я только хочу задержку, если это происходит из-за успешной подачи.У меня это работает, но без задержки.

$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);

но, похоже, ни один из них не помогает.

1 Ответ

3 голосов
/ 01 февраля 2012

setTimeout($.colorbox.close(),8000) вызовет close() сразу, потому что вы выполняете метод close(), вместо этого вы должны передать обработчик или указатель на функцию в качестве первого аргумента методу setTimeout.Попробуйте это.

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