ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS3 アニメーションをジッターなしでスムーズに再開するにはどうすればよいですか?

CSS3 アニメーションをジッターなしでスムーズに再開するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-22 15:04:11
オリジナル
397 人が閲覧しました

How to Restart a CSS3 Animation Smoothly Without Jitter?

CSS3 アニメーションをシームレスに再起動する方法

クリックなどのトリガーで再起動する必要がある CSS3 アニメーションがある場合は、次のようにします。ジレンマに直面します。継続的にスケーリングを行ったり来たりすると、遅延と複雑さが生じる可能性があります。アニメーション要素を削除して再挿入することは機能しますが、より洗練されたソリューションを検討する価値があります。

幸いなことに、スムーズなリセットを実現できるリフローを使用する手法があります。アニメーションを一時的に無効にし、リフローを強制してから再度有効にすると、遅延や中断を生じることなくアニメーションを効果的に再開できます。その仕組みは次のとおりです。

function reset_animation() {
  var el = document.getElementById('animated');
  el.style.animation = 'none'; // Temporarily disable animation
  el.offsetHeight; // Force reflow
  el.style.animation = null; // Re-enable animation
}
ログイン後にコピー

このアプローチでは、ブラウザーの動作を利用して、特定のプロパティが変更されたときにドキュメント フロー (リフロー) を再計算します。アニメーションを無効にして再度有効にすると、ブラウザにアニメーション プロパティが強制的に再初期化され、実質的にブラウザが再起動されます。

この手法は jQuery や Move.js に限定されないことに注意してください。あらゆる CSS アニメーションで使用できます。そのため、次回 CSS アニメーションを再開する必要がある場合は、シームレスで効率的なソリューションとして、このリフローベースの方法の使用を検討してください。

以上がCSS3 アニメーションをジッターなしでスムーズに再開するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート