使用jquery隐藏loginbox延迟

时间:2013-05-17 06:45:36

标签: jquery html ajax

我有这个jQuery来显示登录框并在成功登录后隐藏它。我试图推迟它以显示一条消息,但它忽略了延迟并立即隐藏了该框。

$("#login-form").submit(function(event) {

     event.preventDefault();

     var values = $(this).serialize();

     $("#login-form, #forgot-box, .close, #forgotpass").hide();

     $.ajax({
          url: "login.php",
          type: "post",
          data: values,
          success: function(data){
               setTimeout(function() {$('#log-me-in').fadeOut('slow');}, 4000);          
               $("#logged-in-text").show();
               $("#all-container").load(location.href + '#loginLinks');
          },
          error:function(){
             alert("An error occured!");
          }   
    }); 

});

3 个答案:

答案 0 :(得分:1)

setTimeout(function() {
    $("#login-form, #forgot-box, .close, #forgotpass").hide();
}, 3000);

这将在3000 MS之后隐藏登录框

答案 1 :(得分:0)

尝试$('#log-me-in').delay(4000).fadeOut('slow')并移除settimeout

答案 2 :(得分:0)

你可以先尝试

  

$('#log-me-in')。fadeOut('slow',function(){       //动画完成     });