Chrome のジャーキネスがはっきりとわかります。
ブラウザで他の多くのことを行っている場合、CSS3 アニメーションは必ずしもスムーズに実行されるとは限りません。それらがどれだけスムーズに実行されるかは、同時に何をしようとしているか、およびブラウザーの内部実装がそれをどのように処理するかによって異なります。
手の込んだ CSS3 トランジションを使用する CSS3 スライドショーでの私の経験から、それらをスムーズに実行できるようにする最善の方法は、アニメーションをスムーズに実行すると同時に、コードで実質的なことを行わないことです。スムーズな実行の可能性を最大化するためのいくつかの方法を次に示します。
- アニメーションの実行中に必要になる可能性のあるリソースをプリロードします。
- アニメーションの実行中に JavaScript 関数をキックしないでください。
- アニメーション中に画像を読み込まないようにします。
- アニメーションの後に実行したいものについては、アニメーションの完了関数を介して操作をトリガーします (したがって、アニメーションが完了するまで開始されません)。
- アニメーションが完了したときにビルドして準備ができているものが必要な場合は、アニメーションを開始する前に最初にビルドし、アニメーションを開始する前に非表示にして準備を整えます。
- アニメーション中に DOM を変更しないでください (アニメーションに特に必要なものを除く)。
より具体的には、あなたのページでは、スライドのトランジションにぎくしゃくした動きが見られますが、スライドと同時に、ブラウザがスライド中に表示される新しいコンテンツを読み込もうとしていることがわかります。その新しいコンテンツの読み込みと表示が、スライドのトランジションのぎこちなさの一因になっている可能性があります。スライドが完了するまで待って新しいコンテンツの読み込みを開始するか、スライドを開始する前に新しいコンテンツをプリロードすることをお勧めします。ブラウザーがネットワーク経由で画像を読み込んでいるときでも、一部のブラウザーでは CSS3 トランジションがぎくしゃくすることがわかりました。