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

我正在花式框中显示ajax反馈表,我需要在反馈发送后关闭花式框(时间延迟为20秒)。

我喜欢的电话是……

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

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

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