Vanilla JS setTimeout(): 間違った動作の特定
P粉797855790
P粉797855790 2024-04-02 20:44:40
0
1
413

ハンバーガー メニューのアニメーションを HTML、CSS、および Vanilla JavaScript で作成しました。

期待される結果

ハンバーガー メニュー ボタンをクリックすると、次のイベントが発生します:

ハンバーガーメニューアイコンをクリックした場合:

  1. main 180°回転し、2000ms
  2. で高さに沿ってズームアウトします。
  3. 2000ms が経過すると、メニューが表示され、ハンバーガーのアイコンが # に変わります。
終了ボタンをクリックした場合:

    ページをさらに 180 度回転してメニューをカバーします
  1. メニューの非表示:
  2. 表示: なし;
  3. 終了ボタンをハンバーガーアイコンに戻す
実際に何が起こったのか

主な問題は、12 ~ 14 行目の

settimeout によりボタンを終了できないことです。 理解を深めるためのコードスニペットを次に示します。

リーリー リーリー リーリー

P粉797855790
P粉797855790

全員に返信(1)
P粉032900484

終了クリックがアニメーションなしで元の状態に戻るだけということであれば、.move-away クラスで transition 属性を定義し、終了時にそれを定義しているためです。クリックしたらすぐに削除します。

この transition: all 2000msscape-in​​-out;main スタイル (CSS ファイルの 14 行目) に移動して、アニメーションが両方向に動作するようにする必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート