質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery Mobile

jQuery Mobileとはスマートフォンとタブレット用に最適化されたフレームワークです。様々な携帯端末にjQueryで作られたユーザーインターフェイスシステムを提供します。

Q&A

0回答

215閲覧

Jquery モーダルメニューバツマークでまたは要素以外の場所をクリックした際にメニューを閉じれるようにしたい

shiiiiiiiiba

総合スコア0

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery Mobile

jQuery Mobileとはスマートフォンとタブレット用に最適化されたフレームワークです。様々な携帯端末にjQueryで作られたユーザーインターフェイスシステムを提供します。

0グッド

0クリップ

投稿2022/05/25 05:19

ECサイトのSP版のサイトでモーダルメニューを表示させて、バツマークでまたは要素以外の場所をクリックした際にメニューを閉じたいのですが、現状効きません。

ソースコードは下記の通りです。
よろしくお願いします。

<html> <!-- 開閉用ボタン --> <div class="menu-btn" id="js__btn"> <i class="menu-btn_i"><img src="images/bars_hoso.svg" alt=""></i> <!-- モーダルメニュー--> <nav class="menu" id="js__nav"> <button onClick="closeBtn();" class="batsu js__btn"><i><img src="images/cross_hoso.svg" alt=""></i></button> <ul class="l-header__inner__block l-header__inner__menu Nav"> <li class="l-header__inner__menu--item"><a href="/about/index.html">ABOUT</a></li> <li class="l-header__inner__menu--item"><a href="#">PRODUCT</a></li> <li class="l-header__inner__menu--item"><a href="#">CART</a></li> </ul> </nav> </div> <div style="display: inline-block; margin-top: -20px;"> <div class="l-header__inner__block__item--menu" type="button"> </div> <button onClick="HumBtn()"><i></i></button> </html> <style> #header{ height: 50px; vertical-align: middle; align-items: center; padding: 0 30px; } /* 開閉ボタン*/ .menu-btn { position: fixed; right: 20px; width: 30px; height: 10px; line-height: 50px; font-size: 12px; text-align: center; cursor: pointer; z-index: 1; display: flex; align-items: center; justify-content: flex-end; } .menu-btn span { color: #fff; } .menu-btn span:after { content: attr(data-txt-menu); } /* 開閉用ボタンがクリックされた時のスタイル */ .open .menu-btn span:after { content: attr(data-txt-close); } /* モーダルメニュー*/ .menu { position: fixed; display: table; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.8); -webkit-transition: all .5s; transition: all .5s; visibility: hidden; opacity: 0; } .menu ul { display: table-cell; vertical-align: middle; } .menu li { width: 300px; height: 80px; line-height: 80px; margin: 0 auto; text-align: center; } .menu li a { display: block; font-size: 18px; color: #fff; } .menu li a:hover { color: #999; } .header_storename{ } /* 開閉用ボタンがクリックされた時のスタイル */ .open .menu { cursor: url(../images/cross.svg),auto; -webkit-transition: all .5s; transition: all .5s; visibility: visible; opacity: 1; } /* モーダルメニュー*/ #search{ display: none; } /* navメニュー*/ .batsu { display: block; position: relative; width: 30px; height: 30px; visibility: hidden; } .batsu::before, .batsu::after { /* 共通設定 */ content: ""; position: absolute; top: 10%; left: 50%; width: 2px; /* 棒の幅(太さ) */ height: 30px; /* 棒の高さ */ background: #333; } .batsu::before { transform: translate(-50%,-50%) rotate(45deg); } .batsu::after { transform: translate(-50%,-50%) rotate(-45deg); } .open .batsu{ visibility: visible; z-index: 161; top: 23px; right: -577px; } </style> <script type="text/javascript"> $(function () { var $body = $('main'); //開閉用ボタンをクリックでクラスの切替え $('#js__btn').on('click', function () { $body.toggleClass('open'); }); //メニュー名以外の部分をクリックで閉じる $('#js__nav').on('click', function () { $body.removeClass('open'); }); });

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問