1

この質問は以前に尋ねられましたが、パフォーマンスに関連しています。SOの回答では、IEでの実装の問題が省略されています。

CSS3 トランジションが jQuery アニメーションよりも高速であることは認めます。

ただし、CSS3 は IE 6-8 で問題が発生するため、ie9.js や select[ivizer] などのプラグインを使用する必要があることに注意してください。どちらも、SO と他の場所の両方でさまざまな書き込みがあります。

したがって、ここで明確にしたいと思います。jQuery animate は、ブラウザーとそのバージョン間で正規化されることを理解しています。

したがって、ie-8 を振り返っても、速度の面でのヒットに関係なく、jQuery を使用することをお勧めしますか?

4

4 に答える 4

1

これは個人的な意見と個人的なニーズの問題ですが、

CSS3 はブラウザー間で急速に変化しているため、ブラウザー間のサポートが懸念される場合は jQuery を使用することをお勧めします。ただし、CSS3 はさまざまなベンチマークでより高速であることが証明されています。

別の方法として、CSS3 トランジションとフォールバックを使用して、サポートされていないプロパティが見つかったときにアニメーション化する特殊なプラグインを使用することもできます。適切なプラグインはjQuery Transitですが、すべてのニーズに完全に対応できるわけではありません。

于 2012-11-06T08:43:21.077 に答える
1

jQuery は window.setTimeout(); を使用して要素をアニメーション化します。最良のケースでは 60 FPS を得ることができます。

CSS3 はアニメーションにハードウェア アクセラレーションを使用しますが、それだけでは十分ではありません。

jQuery Animation にとらわれるべきではないと思うなら。

CSS トランジションを確認し、CSS3 を使用するためのユーザー moderinzr。

CSS3 がサポートされていない場合よりも、TweenMaxは jQuery よりもアニメーションに適していると思います。

PS:この記事を読むことをお勧めします。

于 2012-11-06T08:45:07.377 に答える
1

可能な限り CSS トランジションを使用するか、古いブラウザーで jQuery animate を使用するか、物事が複雑になりすぎてトランジションを簡単に実装できない場合に使用します。

CSS トランジションは、一部のブラウザーではプレフィックスなしで実装されているため、変更されていません (最初から変更されていません)。

jQuery animate の動作が気に入った場合は、ここにドロップイン置換があります。

http://playground.benbarnett.net/jquery-animate-enhanced/

これにより、可能な場合はトランジションがインテリジェントに使用されます。つまり、通常どおり jQuery を記述できますが、新しいブラウザーではより優れたアニメーションの利点が得られます。

私の経験では、このプラグインは時々非常にうまく機能し、時には完全に台無しになります。本番環境で使用する前に、CSS トランジション バージョンが正しく見えることを慎重にテストする必要があります。(たとえば、いくつかのアニメーションで jQuery Cycle break のようなもの)

于 2012-11-06T08:45:46.300 に答える
0

.animate()少し難しいですが、作業を簡単にするプラグインを見つけました。

サイクルプラグイン

このプラグインは、スムーズなトランジションを提供します。IE 9をチェックインしましたが、正常に動作します。

于 2014-02-28T06:50:04.630 に答える