2013-10-02 40 views
1

这对于IE10尤其是一个问题。我正在动画伪元素。当我将鼠标悬停在伪元素上时,.skew类被添加到它,这会触发CSS动画。当动画完成时,animationend删除那个.skew类。不适用于伪元素的动画? IE10

至少在Chrome和Firefox中会出现这种情况,但在IE10中,.skew类会添加,但在动画完成时不会删除。我不完全确定是否是这种情况,但可能是因为第一次触发动画时悬停伪元素,但是它再次悬停不会(这意味着.skew类在末尾不会被删除以前的动画)。

在这里看到:http://jsfiddle.net/Ldh5g/

$("div").bind("animationend webkitAnimationEnd oAnimationEnd", function(){ 
    $(this).removeClass("skew"); 
}); 

$("div").mouseenter(function(){ 
    $(this).addClass("skew"); 
}); 

随时伪元素盘旋,动画播放。 Chrome和Firefox都是如此。但在IE10中,动画不能播放一次以上。事情是,如果我在非伪元素上尝试这个,它就会起作用。为什么?

回答

0

我使用切换事件修改您的代码。我还没有尝试过,但它应该甚至在IE10

http://jsfiddle.net/Ldh5g/4/

JS工作

$("div").bind("mouseenter mouseleave", function() { 
    $(this).toggleClass("skew"); 
}); 
+0

我忘了提及,我需要在悬停时触发动画,但即使在隐藏时也可以完成自己的动作。这就是为什么''animationend''。 – Sunny

0

IE10目前还不支持的伪元素的动画事件(冒泡)。

+0

这不提供问题的答案。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/help/whats-reputation),你会能够[评论任何帖子](http://stackoverflow.com/help/privileges/comment)。 – Micha

+0

感谢您的通知。 – webchain