我有这个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!");
}
});
});
答案 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(){ //动画完成 });