0

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

});

4

3 回答 3

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

这将在 3000 MS 后隐藏登录框

于 2013-05-17T06:52:42.567 回答
0

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

于 2013-05-17T06:52:18.537 回答
0

你可以先试试

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

于 2013-05-17T06:54:11.883 回答