Когда я использую это:jquery: addClass, removeClass: анимация работает только один раз: почему?
$("#passwordConfig").removeClass('shake animated').addClass('shake animate');
Это работает только один раз.
Мне нужно добавить немного времени, чтобы заставить его работать столько раз, сколько я хочу!
$("#passwordConfig").removeClass('shake animated');
setTimeout(function() {
$("#passwordConfig").addClass('shake animated');
}, 50);
Любая идея, почему?
CSS:
.animated {
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
@-webkit-keyframes shake {
0%, 100% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
10%, 30%, 50%, 70%, 90% {
-webkit-transform: translate3d(-10px, 0, 0);
transform: translate3d(-10px, 0, 0);
}
20%, 40%, 60%, 80% {
-webkit-transform: translate3d(10px, 0, 0);
transform: translate3d(10px, 0, 0);
}
}
@keyframes shake {
0%, 100% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
10%, 30%, 50%, 70%, 90% {
-webkit-transform: translate3d(-10px, 0, 0);
transform: translate3d(-10px, 0, 0);
}
20%, 40%, 60%, 80% {
-webkit-transform: translate3d(10px, 0, 0);
transform: translate3d(10px, 0, 0);
}
}
.shake {
-webkit-animation-name: shake;
animation-name: shake;
}
Е., попробуйте [.toggleClass()] (http://jsfiddle.net/turbopipp/kzhx9ur4/) – turbopipp
Это потому, что нет щ перекрашивать не называется между классами –