如何手动关闭fancybox中的Ajax页面显示?

时间:2010-12-08 13:23:19

标签: jquery ajax fancybox

我正在花哨的盒子里显示一个ajax反馈表格,我需要在反馈发送后关闭花哨的盒子(时间延迟为20秒)。

我喜欢打电话的是......

        $("#feedback").fancybox({
            'speedIn'   :   600,
            'speedOut'  :   200,
            'centerOnScroll':   false,
            'autoDimensions':   true,
                'type'          : 'ajax'

});

1 个答案:

答案 0 :(得分:2)

像这样的东西。根据需要进行修改。

$.post('/YourAjaxRequest', { your ajax data }, function() {
    $.fancybox.close();
}, 'json');

这将在请求完成时关闭对话框,无论需要多长时间,并且不依赖于20秒的超时。如果你想在响应后20秒关闭该框,你可以这样做:

$.post('/YourAjaxRequest', { your ajax data }, function() {
    setTimeout($.fancybox.close, 20000);
}, 'json');

要表明您提交了请求,您可能需要使用showActivity

$.fancybox.showActivity();
$.post('/YourAjaxRequest', { your ajax data }, function() {
    $.fancybox.close();
}, 'json');