如何在jQuery中检查DOM节点是否正在设置动画

How to check if DOM node is animating in jQuery

本文关键字:是否 设置 节点 动画 检查 jQuery DOM      更新时间:2023-09-26

我有DOM节点和单击处理程序,需要在设置动画时禁用该操作。如何检查元素当前是否由jQuery动画制作动画?

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

我需要在那个元素上设置data('play')吗?这个元素在完成时会很清楚,或者有更好的方法。

尝试使用以下方法:

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

查看:动画选择器文档

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

使用

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

您可以使用:animated选择器检查元素是否正在设置动画。

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

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