我的Jquery代码如下:
if($('#LoginFormError').is(':visible'))$('#LoginFormError').slideUp();
//Check inputs and run ajax
if(CheckInput('#LoginUsername') && CheckInput('#LoginPassword')){
$('#LoginSubmit').attr('disabled', true);
$.ajax({
(..ajax stuf..)
});
}else{
$('#LoginFormError').html("Please fill in everything.");
$('#LoginFormError').slideDown();
}
出于此目的,如果填写了字段,CheckInput将返回true。
我想要做的是,如果#LoginFormError可见,脚本隐藏元素然后运行检查程序。问题是#LoginFormError可能根本不可见,所以我不能把所有内容都放到SlideUp函数的回调中,虽然我认为不行。
答案 0 :(得分:2)
由于将始终调用回调(即使元素已被隐藏),也无需检查。只需将所有内容放入回调中:
$('#LoginFormError').slideUp(400, function{
//Check inputs and run ajax
if(CheckInput('#LoginUsername') && CheckInput('#LoginPassword')){
$('#LoginSubmit').attr('disabled', true);
$.ajax({
(..ajax stuf..)
});
}else{
$('#LoginFormError').html("Please fill in everything.");
$('#LoginFormError').slideDown();
}
}
);