ホームページ  >  に質問  >  本文

Vanilla JS setTimeout(): 間違った動作の特定

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

期待される結果

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

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

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

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

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

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

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

P粉797855790P粉797855790181日前302

全員に返信(1)返信します

  • P粉032900484

    P粉0329004842024-04-03 15:19:34

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

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

    返事
    0
  • キャンセル返事