找出是否有任何转换正在进行中

时间:2014-01-06 11:52:25

标签: javascript jquery css3

无论如何都要查明我的页面上是否有正在运行的转换?不是针对整个页面的特定元素而是全局的?

由于

1 个答案:

答案 0 :(得分:2)

要查看css转换何时结束,您可以使用transitionend

  

当CSS转换完成时会触发transitionend事件。

来源:https://developer.mozilla.org/en-US/docs/Web/Reference/Events/transitionend

您可以使用“标志”来查看动画何时完成以及何时未完成。这是一个例子:

var AnimationComplete;

$('div').click(function() {
    $(this).addClass('green');
    AnimationComplete= false;
    console.log(AnimationComplete);
});

$("*").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function() {
    AnimationComplete= true;
    alert('animate ended');
    console.log(AnimationComplete);    
    return false; /*Cancel any bubbling*/
});

我不得不说使用*选择器是 BAD 练习,因为它会绑定这些事件[ s ]所有元素。最好在那里写下你的特定元素。

jsFiddle

<强>更新

所以基本上你如何确定过渡正在进行的时候我的'标志'AnimionComplete是假的。

jsFiddle

您可以在此处看到3种不同的状态:开始正在进行中结束