前提・実現したいこと
初めてスマホのハンバーガーメニューにサンプルjsを組み込んでみたのですが
自身が勉強のため制作中のサイトに合わせると2点jsの修正方法が分かりません。
詳しい方、よろしければご教示いただければと思います。
ここに質問の内容を詳しく書いてください。
1点目
添付の画像のように
ハンバーガーメニューを開いた時
仮に背景が黒だとしてその上に画面全体まで白くメニューを伸ばしたいです。
2点目
メニューを開いた時
例えば、COMPANYとBUSINESSでそれぞれドロップダウンメニューがあるのですが
そのページcompany.indexでCOMPANYのドロップダウンメニューを選択すると
メニューが開いたままになってしまい×を押さないと消えない為そこを改善したいです。
組み込みに使用させていただいたデモサンプルページ
https://codingmania.net/demo/Tool/0046/index_over.html
<header class="page-header"> <h1><a href="index.html"><img class="logo" src="images/logo.png"></a></h1> <nav class="Nav" role="navigation" aria-label="メインメニュー"> <p class="navbtn"><a href="javascript:void(0)"><span>メニューを開く</span></a></p> <ul> <li><a href="./news.html"><b>NEWS</b></a></li> <li class="parent"><a href="javascript:void(0)"><b>COMPANY</b></a> <ul class="submenu"> <li><a href="./company.html#Management">経営理念</a></li> <li><a href="./company.html#Message">代表挨拶</a></li> <li><a href="./company.html#infomationDesc">会社概要</a></li> </ul> </li> <li class="parent"><a href="javascript:void(0)"><b>BUSINESS</b></a> <ul class="submenu"> <li><a href="./work.html#Support">開発前支援</a></li> <li><a href="./work.html#Promotion">宣伝・広告活動</a></li> <li><a href="./work.html#Operation">運用力強化</a></li> </ul> </li> <li><a href="./recruit.html"><b>RECRUIT</b></a></li> <li><a href="./form.html"><b>CONTACT</b></a></li> </ul> </nav> </header> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
//resize $(window).resize(function() { var windowWidth = window.innerWidth; var point = 1000; var timer = false; if (timer !== false) { clearTimeout(timer); } timer = setTimeout(function() { var ww = $(window).width(); if (windowWidth != ww) { if (windowWidth > point) { $("body").addClass("pc").removeClass("spn"); $(".Nav > ul").removeClass("open close").css("display", "block"); $(".Nav > ul > li").css("display","inline-block"); $(".Nav .navbtn a").removeClass("open close").html("<span>メニューを閉じる</span>"); $(".Nav ul li.parent a").removeClass("open").addClass("close"); $(".Nav ul.submenu").slideUp("fast").removeClass("open").addClass("close"); } else { //画面サイズが1000px未満のときの処理 $("body").addClass("spn").removeClass("pc"); $(".Nav > ul").addClass("close").removeClass("open").css("display", "none"); $(".Nav .navbtn a").addClass("close").removeClass("open").html("<span>メニューを開く</span>"); $(".Nav ul li.parent a").removeClass("open").addClass("close"); $(".Nav ul.submenu").slideUp("fast").removeClass("open").addClass("close"); } } else {} }, 50); }); //nav dropdown ovreNav function ovreNav() { var li = $(".Nav ul li.parent"); $(li).each(function() { var target = $(this); target.hover(function() { //マウスが乗ったら $(target).find('ul.submenu').slideDown(200); }, function() { //マウスが外れたら $('ul.submenu').hide(); }); }); } //nav dropdown clickNav function clickNav() { $(".Nav ul li.parent").each(function() { var submenu = $(this).find("ul.submenu"); var allsubmenu = $(".Nav ul.submenu"); var allbtn = $(".Nav ul li.parent"); $(this).addClass("close"); $(submenu).addClass("close"); $(this).on('click', function() { if ($(this).hasClass("open")) { $(this).removeClass("open").addClass("close"); $(submenu).slideUp("fast").removeClass("open").addClass("close"); } else { $(allsubmenu).slideUp("fast").removeClass("open").addClass("close"); $(allbtn).removeClass("open").addClass("close"); $(submenu).slideDown("fast").removeClass("close").addClass("open"); $(this).removeClass("close").addClass("open"); } //return false; }); }); $(document).click(function(event) { if (!$(event.target).closest(".Nav").length) { $(".Nav ul.submenu").slideUp("fast").removeClass("open").addClass("close"); $(".Nav ul li.parent").removeClass("open").addClass("close"); //alert('changeイベントが発生しました。'); } }); } //SP nav $(function() { $(".Nav .navbtn a").click(function() { if ($(".Nav > ul").css("display") == "none") { $(".Nav > ul").addClass("open").removeClass("close").slideDown("fast"); $(".Nav > ul > li").css("display","block"); $(this).removeClass("close").addClass("open").html("<span>メニューを閉じる</span>"); } else { $(".Nav > ul").addClass("close").removeClass("open").slideUp("fast"); $(".Nav ul li.parent").removeClass("open").addClass("close"); $(".Nav ul.submenu").slideUp("fast").removeClass("open").addClass("close"); $(this).addClass("close").removeClass("open").html("<span>メニューを開く</span>"); } }); }); //SP アンカーリンク $(function() { $("ul.submenu a[href^='#']").click(function(event) { //alert('changeイベントが発生しました。'); $(".Nav ul.submenu").slideUp("fast").removeClass("open").addClass("close"); $(".Nav ul li.parent a").removeClass("open").addClass("close"); $(".spn .Nav > ul").addClass("close").removeClass("open").slideUp("fast"); $(".spn .Nav .navbtn a").addClass("close").removeClass("open").html("<span>メニューを開く</span>"); //$(this).removeClass("close").addClass("open").html("<span>メニューを閉じる</span>"); }); }); ![イメージ説明](53b3dd9d706da6043d39730b0f494c0e.jpeg)
回答1件
あなたの回答
tips
プレビュー