function checkSession(){$ .ajax({url:“session.php”,success:function(data){if(data == 1){var postFilen ='msg.php'; $ .post(postFilen,function(数据){$(“ . msg”) . html(data).find(“ . message2”) . fadeIn(“slow”)} else {$(' . msg') . hide();}}}); // setInterval('checkSession()',1000);
现在我想在5秒钟后显示淡出.msg . 我该怎么做..我试过:
function checkSession(){
$.ajax({url: "session.php", success: function(data){
if( data == 1){
var postFilen = 'msg.php';
$.post(postFilen, function(data){
$(".msg").html(data).find(".message2").fadeIn("slow")
setTimeout(function() {
$('.msg').fadeOut('slow');
}, 5000);
});
}else{
$('.msg').hide();
}
}});
// setInterval('checkSession()',1000);
}
但是第一次之后这个消息就不会出现了......
2 回答
尝试使用
delay
方法:http://api.jquery.com/delay/我的情况,如:
[编辑:修复示例]
[edit2:新例子]
这个似乎在这里工作正常:
然后
首先尝试为我们编写更清晰的代码以更好地理解您的问题,您的
$.post
的回调函数在第一个代码段的顶部缺少});
这些字符,并且第二个缩进是错误的 .然后查看这些链接以了解setTimeout的用法 .
https://developer.mozilla.org/en/DOM/window.setTimeout
http://www.w3schools.com/jsref/met_win_settimeout.asp
And to your question :
如果您在
setTimeout(function() {
之前放置var t =
它将按预期工作,希望这些有所帮助,思南 .