Javascript $(此)超时(再次)

Javascript $(此)超时(再次),javascript,jquery,Javascript,Jquery,使用niceanimate.css我想用pulse动画在悬停事件上设置类脉动中所有元素的动画。当鼠标指针离开元素时,动画应停止 以下代码起作用: $('.pulsating').each(function() { $(this).hover( function() {$(this).addClass('animated infinite pulse');}, function() {$(this).removeClass('animated infinit

使用nice
animate.css
我想用
pulse
动画在
悬停
事件上设置类
脉动
中所有元素的动画。当鼠标指针离开元素时,动画应停止

以下代码起作用:

$('.pulsating').each(function() {
    $(this).hover(
        function() {$(this).addClass('animated infinite pulse');},
        function() {$(this).removeClass('animated infinite pulse');}
        ); // hover
}); // each .pulsating
然而,我希望在鼠标离开时,转换继续一段时间。因此,在这里进行了一些尝试和搜索之后,我实现了以下功能:

$('.pulsating').each(function() {
    $(this).hover(
        function() {$(this).addClass('animated infinite pulse');},
        function() {var el=$(this); window.setTimeout(function(){el.removeClass('animated infinite pulse');}, 2000);} 
        ); // hover
}); // each .pulsating

正如您所看到的,我保留了对
$(this)
的引用,但它不起作用:悬停的元素保持无限的脉动

看起来应该很好用。您可以放弃对
.each
的调用,直接调用
。将
悬停在所选元素上。请创建一个重现问题的JSFIDLE。同意Felix,似乎可以正常工作:。我添加了额外的
timeout
内容(并因此保留了
.each()
),以允许同步每个元素的超时……否则,如果您快速地(比超时更快地)来回悬停,事情会变得奇怪