CSS 类在验证时只工作一次
CSS class working only once on validation
我定义了一个CSS类,看起来像这样 -
@-webkit-keyframes wiggle {
0% {-webkit-transform:rotate(2deg);}
50% {-webkit-transform:rotate(-2deg);}
100% {-webkit-transform:rotate(2deg);}
}
@-moz-keyframes wiggle {
0% {-moz-transform:rotate(2deg);}
50% {-moz-transform:rotate(-2deg);}
100% {-moz-transform:rotate(2deg);}
}
@keyframes wiggle {
0% {transform:rotate(2deg);}
50% {transform:rotate(-2deg);}
100% {transform:rotate(2deg);}
}
.doWiggle {
-webkit-animation: wiggle 0.2s;
-moz-animation: wiggle 0.2s;
}
在 JavaScript 中,我有这个函数——
function validateOnSubmit() {
var isValid = true;
if (document.getElementById("password").value.length <= 5) {
isValid = false;
document.getElementById("alert").className = "doWiggle";
}
return isValid;
}
validateOnSubmit()
函数以以下形式实现onsubmit="return validateOnSubmit()"
问题是,只需单击一下submit
按钮即可发生摆动效果。如果我第二次或连续单击submit
按钮,则不会发生摆动效果。
我做错了什么?
问题是在动画运行后没有删除类名。这是对更正行为或删除类名的小提琴:https://jsfiddle.net/4fqLhbjx/1/
基本上我所做的是将其添加到if
条件中:
setTimeout(function(){
document.getElementById("alert").className = document.getElementById("alert").className.replace('doWiggle', '');
}, 300);
我选择了300
以确保动画有时间干净利落地完成。
相关文章:
- Jquery FadeIn FadeOut 只工作一次
- jQuery滚动功能只工作一次
- iOS鼠标中心绑定只工作一次
- mongoose.js Model.remove在循环中只能工作一次
- 复选框一次选中一个不在gridview中工作
- Regex拆分-工作一次
- EventListener只能工作一次
- jQuery animate只在单击时工作一次
- data th JS每页只工作一次
- Jquery选择选项并获取只工作一次的更改值(页面加载时)
- remove仅每隔一次进行儿童工作
- CSS 类在验证时只工作一次
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 单击仅工作一次
- MVC 分部视图中的 JQuery UI 自动完成功能只能工作一次
- Yelp API、OAuth和Angular与JSONP只工作一次
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 滚动时加载更多 滚动速度时一次工作两次
- 为什么一个ng应用程序一次工作
- Ajax请求只在每隔一次工作