2012-09-09 35 views
0

我有这个ajax提交脚本。它确实提交并弹出感谢信息,但它在3.2秒内不会消失。目标是让消息“感谢您的更新”。每次用户点击更新按钮(#tracking_submit)时弹出几秒钟。在Ajax上淡出提交

$('#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

我解决了这个问题,这样

$('#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; 

}); 
0

尝试使用这样的:

setTimeout(function() { $('#foo').fadeOut(); }, 5000);

.delay()因为计时器保持不与别的玩好滴答和.dequeue()当它启动时执行......不管你是否清除队列并添加了一个全新的队列。

最好直接使用setTimeout()setTimeout()是一个原生的javascript函数。