これは特に IE10 の問題です。疑似要素をアニメーション化しています。疑似要素にカーソルを合わせる.skew
と、それにクラスが追加され、CSS アニメーションがトリガーされます。アニメーションが終了したら、そのクラスをanimationend
削除します。.skew
少なくとも 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 では、アニメーションを複数回再生することはできません。問題は、非疑似要素でこれを試してみると、うまくいくということです。なんで?