淡出Ajax提交

时间:2012-09-09 17:34:53

标签: ajax timeout

我有这个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;   
});

2 个答案:

答案 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函数。