ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS トランジションが JavaScript スライドショーで機能しないのはなぜですか?
JavaScript アプリケーションでの CSS トランジションの失敗
CSS3 トランジションを使用してスライドショーを強化しようとして、ユーザーはトランジションという不可解な問題に遭遇しました。 JavaScript を通じて正しいスタイルが適用されているにもかかわらず、機能することを拒否しました。
JavaScript はスライドショーのスライドを取得し、事前定義された CSS クラスを割り当ててアニメーションを制御します。ただし、指定されたトランジションはアクティブ化されません。この現象は、開発者ツール コンソールを使用してスタイルとトランジションを手動で適用した場合には発生しません。
分析により、トランジションが発生するには次の 3 つの条件を満たす必要があることが判明しました:
問題のある JavaScript 実装では、条件 1 と 2 が動的に割り当てられます。その結果、ブラウザが変更を処理して登録するための遅延は発生しません。
この問題を解決するには、条件 3 を適用する前に遅延を挿入することをお勧めします。この遅延により、ブラウザは変更を処理できるようになります。以前の変更を使用して、値が変更されたときに遷移プロパティが適切に認識されるようにします:
<code class="javascript">window.setTimeout(function() { slides[targetIndex].className += " target-fadein"; }, 100); </code>
または、条件 3 を HTML 内に直接適用して、ページの読み込み中に遷移プロパティが定義されるようにすることもできます。 JavaScript での遅延の必要性:
<code class="html"><div class="target-fadein-begin" ...></div></code>
これらの条件が満たされると、CSS3 トランジションによってトリガーされるアニメーションは期待どおりに機能します。
以上がCSS トランジションが JavaScript スライドショーで機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。