2013-05-31 18 views
5

要素が現在CSS3遷移でアニメーション化されているかどうかをJavascriptで検出する方法はありますか?CSS3遷移が実行されていることを確認してください

「トランジション・スタート」イベント( 'transistionend'イベントに相当)もうまくいくでしょうが、仕様ではそれについて言及が見つかりません。

+1

http://stackoverflow.com/questions/2794148/css3-transition-events、http://stackoverflow.com/questions/ 7264899/detect-css-transitions-javascript-and-without-modernizr?を使用していますか? – coma

+1

最初のリンクの回答は「transistionend」に、2番目のリンクはcss3トランスクリスションの機能の検出についてのみ議論されているため、これは残念なことです。 :/ – johnny

+0

あなたは私の答えが役に立つのを発見しましたか? – coma

答えて

2

まあ、唯一transitionendイベント(http://www.w3.org/TR/css3-transitions/#transition-events)があるので、醜い何かが私の心に来る:

http://jsfiddle.net/coma/psbBg/6/

JS

$(function() { 

    var div = $('div'); 
    var property = div.css('transition-property'); 
    var lastValue = div.css(property); 

    setInterval(function() { 

     if(lastValue !== div.css(property)) { 

      console.log('changed!'); 

     } 

     lastValue = div.css(property); 

    }, 10); 

}); 

これは、カスタムイベントを実施し改善することができ、正しいトランジションプロパティ(またはプロパティ)を取得し、より多くのアイデアを得ることを世話しますが、あなたは正しいイメージを取得しますか?

たぶん、あなたはあなたの元の問題の解決に別のパスを取る必要があります...

+2

私はあなたが 'トランジション'ではなく 'トランスフォーム'プロパティをチェックするつもりだと思いますよね?しかし、私は考えを得る。それは少し強引に強制されたようですが、それはおそらく唯一の方法です。ありがとう! – johnny

+0

ああ、ありがとう、ありがとう、今私はトランジションプロパティを使用しています:http://jsfiddle.net/coma/psbBg/6/ – coma