ヘッダーメニューをマウスオンでプルダウン

Simplicityの特徴 フォーラム Simplicity2に関する話題何でも ヘッダーメニューをマウスオンでプルダウン

  • このトピックには4件の返信、1人の参加者があり、最後にオサレにより9年、 11ヶ月前に更新されました。
4件の返信スレッドを表示中
  • 投稿者
    投稿
    • #45285
      オサレ
      ゲスト

      コンバンワ

      ちょっとオシエテクダサイ

      ヘッダーメニューをふれた(マウスオン)だけで
      子メニュー出てきますが
      ちょっとジャマデス

      クリックで子メニューを表示するように
      カエレマスカ?

      ドウゾ
      オネガイシマス

    • #45287
      hidekichi
      ゲスト

      サンプル: クリックでサブメニュー表示・非表示 | codepen
      ※ scssで書いてますのでcss欄の下向き三角からview compiledでcssに変換したものを子テーマstyle.cssにコピペして必要に応じて変更修正してください。

      こんな感じかと思います。
      デフォルトのhover部分でhoverしてもサブメニューが非表示のままになるように変更したのと、サブメニューを持っている要素がクリックされた場合にshowと言うクラスをつけるようにしました。

      hoverしたら勝手に表示されるメニューとは違い、どこにサブメニューがあるかを表示しておかないとアレかなと思いまして、サブメニューを持っているメニューの後ろに三角アイコンが出るようにしました。fontawesomeのアイコンなので、ここらは好きなものに変更したりしてください。

      サブメニューを持っているclass(.menu-item-has-children)にshowと言うclassをつけたり外したりすることでサブメニューを表示・非表示としています。ここから、showがついている間ずっとサブメニューが表示されると言うのが問題点です。
      一応他のサブメニューを表示した時はそれまでに開いているものを閉じるようにしました(サブメニューが開くのは常に一つまでにしました)が、何かしらのサブメニューが開かれている時にそれを自動で閉じるわけではないので、再度同じメニューをクリックして閉じる必要があります。ここらが注意点でしょうか。

    • #45297
      オサレ
      ゲスト

      スバラシイ

      but
      子メニューがリンクできない
      Why Mr.Hidekichi?

    • #45298
      hidekichi
      ゲスト

      あ、

      $("#navi").find(".menu-item-has-children a")

      だとその子要素のaもリンク無効になるので、

      $("#navi").find(".menu-item-has-children > a")

      でイケると思います。

      サンプルは修正しました。

    • #45303
      オサレ
      ゲスト

      Thank U Mr.Hidekichi

4件の返信スレッドを表示中
  • トピック「ヘッダーメニューをマウスオンでプルダウン」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)