【发布时间】:2014-03-17 07:04:00
【问题描述】:
我有两个 div 淡入或淡出的验证过程,具体取决于第一个函数的返回。 setTimeout 是让完成输入输入,因为它会监视 keyup。系统工作,但问题发生在以下情况:
您输入了错误的值(#wrong 出现)> 您重新输入了正确的值 > 当您输入正确的值时,else 函数被触发,因为它尚未完成 > 当输入正确的值时 (. ok 出现)#wrong 也出现,在 setTimeout 延迟之后。
有没有办法避免 else 函数的重叠?也许将真假功能完全分开?
function validatePasscode(code) {
if (array.indexOf(code) > -1) {
return true;
}
}
$scope.$watch('passcode', function(value) {
var isValid = validatePasscode(value);
if (isValid) {
$scope.loadNewChannel();
$('.ok').fadeIn(200);
$('#wrong').fadeOut(200);
}
else {
setTimeout(function(){
$('.ok').fadeOut(200);
$('#wrong').delay(200).fadeIn(200);
},2000);
}
});
【问题讨论】:
标签: javascript angularjs