函数检查 session (){ $.ajax({url: "session.php", 成功: 函数(数据){ 如果(数据== 1){ var postFilen = 'msg.php'; $.post(postFilen, 函数(数据){ $(".msg").html(data).find(".message2").fadeIn("slow") }别的{ $('.msg').隐藏(); } }}); //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);
}
但是在第一次之后消息不会出现..
最佳答案
尝试使用delay
方法:http://api.jquery.com/delay/
$('#foo').slideUp(300).delay(800).fadeIn(400);
我是你的情况,比如:
$(".msg")
.html(data)
.find(".message2")
.fadeIn("slow")
.parent('.msg')
.delay(5000)
.fadeOut('slow')
[编辑:固定示例]
[edit2: 新例子]
这个似乎在这里工作得很好:
<div class="msg"></div>
<p>
Some text <br /> <a id="bloup" href="">show message</a>
</p>
然后
$(function() {
$("#bloup").click(function(e) {
e.preventDefault();
var data = "<span class='message2'>Hello world</span>";
$(".msg")
.show()
.html(data)
.find('.message2')
.fadeIn('slow')
.parent('.msg')
.delay(2000).fadeOut('slow');
})
});
关于javascript - 在哪里放置超时()淡出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395812/