0

在fancybox ajax 调用中有以下内容

               $.ajax({
                    type: 'POST',
                    url: 'sendmesse.php',
                    data: $("#messform").serialize(),
                    success: function(data) {
                        if(data == "true") {
                            $("#messform").fadeOut("fast", function(){
                                $(this).before("<strong>Success! Your feedback has been sent, thanks :)</strong>");
                                setTimeout($.fancybox.close(), 1000);
                                // $('.fancybox').close();
                                // $.fancybox.close();

                            });
                        }
                    }
                });

从收盘开始,一切都很好,尝试了各种变化而没有成功。上面的超时给了我 Error: useless setTimeout call (missing quotes around argument?)

所以我都尝试了 setTimeout('$.fancybox.close()', 1000);setTimeout("$.fancybox.close()", 1000); 但我得到了以下错误TypeError: $ is undefined

...帮助 !

4

3 回答 3

1

试试如下图:

setTimeout(function(){ $.fancybox.close();}, 1000);
于 2012-08-07T09:03:41.907 回答
1

setTimeout期望一个函数引用或一个字符串来评估。在您的情况下,尝试调用setTimeout如下:

setTimeout(function() { $.fancybox.close(); }, 1000);
于 2012-08-07T09:04:25.797 回答
0

尝试创建一个名为“closeMyFancyBox”的简单函数,例如

function closeMyFancyBox() {
$.fancybox.close();
}

然后将该函数称为setTimeout('closeMyFancyBox', 1000);

于 2012-08-07T09:04:52.893 回答