jquery、css3动画和计时问题

jquery、css3动画和计时问题,jquery,animation,css,timing,Jquery,Animation,Css,Timing,我有两张图片,应该在悬停时执行一个简短的动画 这就是我用来给他们悬停时的动画类,并在动画时间结束后删除它 $('.box').on('mouseenter',function(){ var box = $(this); $(box).addClass('swing'); setTimeout(function(){ $(boxen).removeClass('swing'); },2000); }); 问题是,它有很多车。检查并将其悬停几次,您

我有两张图片,应该在悬停时执行一个简短的动画

这就是我用来给他们悬停时的动画类,并在动画时间结束后删除它

$('.box').on('mouseenter',function(){
    var box = $(this);

    $(box).addClass('swing');

    setTimeout(function(){
      $(boxen).removeClass('swing');
    },2000);

});
问题是,它有很多车。检查并将其悬停几次,您将看到问题所在

我想我需要检查它们在悬停触发时是否正在制作动画,以避免出现新的超时


有什么建议吗?

您可以使用检查swing类是否存在(注意,我还删除了不必要的双重初始化):

另外,最好不要使用setTimeout,而是使用适当的动画结束事件: