20

進行中の移行を停止したい。

インターネットのあちこちにいくつかの参考文献[1][2]が散在しているのを見つけましたが、それをつなぎ合わせることができないようです。

これが最初の提案のフィドルです(コンテキストにjQueryとCSS Transitを使用):http://jsfiddle.net/thomseddon/gLjuH/

ありがとう

[1] https://twitter.com/evilhackerdude/status/20466821462

[2] github.com/madrobby/zepto/issues/508

4

2 に答える 2

10

だから私はそれを理解しました:http://jsfiddle.net/thomseddon/gLjuH/3/

秘訣は、アニメーション化する各cssプロパティを次のように現在の値(おそらく遷移の途中)に設定する$(this).css('prop', $(this).css('prop'));ことです(おそらく、$(this).data(props);を使用して要素内のオブジェクトのすべてのプロパティを格納し、ループします彼ら)。

プロパティを明示的に設定したら、0sアニメーションを実行して前のアニメーションをオーバーライドし、要素を効果的に停止できます。

于 2012-10-18T17:24:10.647 に答える
4

はるかに簡単な解決策があります。トランジションを停止するだけの場合(一時停止しない場合)。cssを現在の計算スタイルに設定するだけです。たとえば、topが遷移プロパティであるカスタムスクロールソリューションの場合です。

element.style.top=getComputedStyle(element).top;

以上です。

于 2016-03-23T10:31:16.793 に答える