在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
......帮助!
答案 0 :(得分:1)
尝试如下所示:
setTimeout(function(){ $.fancybox.close();}, 1000);
答案 1 :(得分:1)
setTimeout
要求评估函数引用或字符串。在您的情况下,请尝试调用setTimeout
,如:
setTimeout(function() { $.fancybox.close(); }, 1000);
答案 2 :(得分:0)
尝试创建一个名为“closeMyFancyBox”的简单函数,例如
function closeMyFancyBox() {
$.fancybox.close();
}
然后将该函数称为setTimeout('closeMyFancyBox', 1000);