Javascript 每次单击jquery都会触发动画

Javascript 每次单击jquery都会触发动画,javascript,jquery,css,animation,Javascript,Jquery,Css,Animation,我只是尝试通过jquery使用animate.css在每次单击时启动动画。我的代码只是第一次触发动画 HTML <input autocomplete="off" type="text" id="a-input" name="input"> <button id="next">Next</button> 我做错了什么 这是因为第二次,按钮已经有了动画抖动类。删除然后添加同时发生。。。所以元素没有区别 假设动画持续600毫秒 动画完成后,使用setTimeou

我只是尝试通过jquery使用animate.css在每次单击时启动动画。我的代码只是第一次触发动画

HTML

<input autocomplete="off" type="text" id="a-input" name="input">
<button id="next">Next</button>

我做错了什么

这是因为第二次,按钮已经有了
动画抖动
类。删除然后添加同时发生。。。所以元素没有区别

假设动画持续600毫秒

动画完成后,使用
setTimeout()
删除这些类

结果将是:

$("#next").click(function() {
  $('#a-input').addClass('animated shake');
  setTimeout(function(){
    $('#a-input').removeClass();
  },650);
});
$(“#下一步”)。单击(函数(){
$('a-input').addClass('animated shake');
setTimeout(函数(){
$('#a-input').removeClass();
},650);
});


下一步
使用jquery中的
切换类

$(“#下一步”)。单击(函数(){
$('a-input')。效果(“震动”);
});


下一步
添加相关的CSS代码相关的CSS在这里:但不知何故,这并没有删除类。你检查了吗?我添加了一个片段。@LouySpatriceBesette你能告诉我如何添加片段吗?@Danish:在编辑答案时查找片段按钮。你确定吗?如果我使用
$(this)
,它将工作。根据需要更新@加载了一个片段,只是学习了如何:)togleClass使用户需要单击两次才能看到动画…需要单击两次请修复此问题@丹麦语
$("#next").click(function() {
  $('#a-input').addClass('animated shake');
  setTimeout(function(){
    $('#a-input').removeClass();
  },650);
});