我有这个ajax提交脚本。它确实正确提交并弹出感谢信息,但它不会在3.2秒内淡出。目标是传达“感谢您更新”的消息。每次用户点击更新按钮(#tracking_submit)时弹出几秒钟。
$('#tracking_submit').click(function(){
$.ajax({
url: "php/tracking.php",
type:'POST',
data: dataString,
success: function(){
$('#tracking_message').replaceWith("Thank you for updating.");
$('#tracking_message').delay(3000).fadeOut(300);
}
});
return false;
});
答案 0 :(得分:0)
我用这种方式解决了这个问题
$('#tracking_submit').click(function(){
$.ajax({
url: "php/tracking.php",
type:'POST',
data: dataString,
success: function(){
$('#tracking_message').html("Thank you for updating.").fadeIn('slow');
setTimeout(function(){$('#tracking_message').fadeOut('slow');},2000);
}
});
return false;
});
答案 1 :(得分:0)
尝试使用:
setTimeout(function() { $('#foo').fadeOut(); }, 5000);
.delay()
与其他任何东西都不能很好地发挥作用,因为计时器一直在滴答作响,当它出现时执行.dequeue()
...无论你是否清除了队列并添加了一个全新的队列。
最好直接使用setTimeout()
。 setTimeout()
是一个原生的javascript函数。