我已经实现了以下代码:
$.ajax({
type: 'POST',
data: "id="+id,
url: 'xyz.php',
async: false,
dataType: 'json',
success: function(data){
$('#message_'+id).html('Estás de acuerdo<span class="msg_order_close"></span>').show().fadeOut('slow').delay('5000');
}
});
这里我使用fadeOut('slow').delay('5000');
在5秒后隐藏内容。但是,在第1次ajax请求停止加载页面后,它不能正常工作。并且在第一次请求后它运作良好。内容将在5秒后隐藏。第一次新添加的内容将立即隐藏。
建议将被接受。
答案 0 :(得分:1)
问题是您在隐藏内容后等待。将.delay()
部分放在 de fadeOut()函数之前。
$.ajax({
type: 'POST',
data: "id="+id,
url: 'xyz.php',
async: false,
dataType: 'json',
success: function(data){
$('#message_'+id).html('Estás de acuerdo<span class="msg_order_close"></span>').show().delay(5000).fadeOut('slow');
}
});
此外,5000不是字符串,因此您应该删除引号。
答案 1 :(得分:0)
如果您想在淡出前延迟,则需要切换顺序:
.delay(5000).fadeOut('slow')
(感谢@ tabz100首先看到它)
现在,如果您希望淡出5秒钟,请使用
.fadeOut(5000, 'slow')