omegasisters / homepage

おめシスのホームページを作りたい
575 stars 140 forks source link

:cat2: :dash: モバイル ドロワーのメニュー開閉ボタンの向きをメニューの状態に合わせます #289

Closed KiKiKi-KiKi closed 4 years ago

KiKiKi-KiKi commented 4 years ago

変更内容

下記問題を修正しました。

  1. モバイルの状態でΩをクリックしてメニューを表示
  2. ウィンドウサイズを変更する
  3. メニューが閉じられるが開閉ボタンは逆Ωのままで元に戻らなない
  4. これ以降ボタンの向きとメニューの状態が逆になってしまう

ref. https://github.com/omegasisters/homepage/issues/245

ボタンの向きの変更はボタンクリック時/メニューボタンクリック時にJSでCSSのクラス名をtoggleする操作で実装されていましたが、メニューには drawer.jsが使われており、このライブラリは<body>にメニュー表示状態を .drawer-close, .drawer-open のように与えます。 ですので、JSでCSSのクラス名を操作するのではなく、CSSで .drawer-open クラスが付いている時にΩボタンが rotate(180deg) になる指定にしておけば、メニューの状態とボタンの向きを同期させることができます。

確認事項

補足

CSSのクラスの変更があり、アニメーションが発生するので Event の $('.drawer').on('drawer.closed', function(){}); を使うよりはアニメーションのテンポが遅れるということはないかと思いますが、一応実装者の @Iwaide さんに確認して頂きたく思います 🙏

https://git.blivesta.com/drawer/

s4na commented 4 years ago

良いですね!👍

Iwaide commented 4 years ago

ですので、JSでCSSのクラス名を操作するのではなく、CSSで .drawer-open クラスが付いている時にΩボタンが rotate(180deg) になる指定にしておけば、メニューの状態とボタンの向きを同期させることができます

確かにその通りですね!盲点でした。ありがとうございます👍 動作も確認しました。LGTM!

omegasisters commented 4 years ago

👍