如何检查DOM节点是否在jQuery中动画化

时间:2013-08-06 12:52:15

标签: javascript jquery dom animation javascript-events

我有DOM节点和点击处理程序,我需要在动画时禁用动作。如何通过jQuery动画检查元素当前是否正在动画化?

$('div').on('click', '.item', function() {
    if (/* this not animating */) {
        animate($(this));
    }
});

我是否需要在该元素上设置data('play'),该元素在完成时会更清楚,或者有更好的方法。

3 个答案:

答案 0 :(得分:6)

尝试使用以下内容:

$('div').on('click', '.item', function() {
    $this = $(this); // cached so we don't wrap the same jquery object twice
    if (!$this.is(':animated')) {
        animate($this);
    }
});

查看:animated selector documentation

示范:http://jsfiddle.net/smerny/tBDL8/1/

答案 1 :(得分:5)

使用

$(element).is(":animated");

答案 2 :(得分:1)

您可以使用:animated选择器检查元素是否为动画。

if($(this).is(":animated")) { ... }

有关详细信息,请查看:http://api.jquery.com/animated-selector/