スマホ時でハンバーガーメニューを開いたあとグローバルメニューのスクロールが効かないです。この現象がおこるのはfullpage.jsを使用してフルページスクロールを適用しているページのみで発生します。早急に解決したいので原因が分かる方いましたらどうか教えてくいただきたいです。よろしくお願いします。
html
1 <!--グロナビ--> 2 <div class="g-nav-wrapper"> 3 <nav id="g-nav" class="g-nav"> 4 <div class="g-nav-inner"> 5 <div class="g-nav-list__wrap"> 6 </div> 7 </div> 8 </nav> 9</div> 10<!--fullpage.js--> 11<main class="l-main" id="fullpage"> 12 <div class="section"> 13 </div> 14 <div class="section"> 15 </div> 16</main>
css
1/*メニュー*/ 2#g-nav{ 3 /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/ 4 position:fixed; 5 z-index: -1; 6 opacity: 0; 7 top:0; 8 width:100%; 9 height: 100vh;/*ナビの高さ*/ 10 background:#fff; 11 transition: all 0.3s; 12} 13 14/*アクティブクラスがついたら透過なしにして最前面へ*/ 15#g-nav.panelactive{ 16 opacity: 1; 17 z-index:999; 18} 19 20#g-nav.panelactive #g-nav-list{ 21 position: fixed; 22 z-index: 999; 23 width: 100%; 24 height: 100vh; 25 overflow: auto; 26 -webkit-overflow-scrolling: touch; 27} 28#g-nav ul { 29 position: absolute; 30 z-index: 999; 31 top:50%; 32 left:50%; 33 transform: translate(-50%,-50%); 34} 35 36#g-nav.panelactive ul { 37 display: block; 38} 39
js
1//gnav 2$(".openbtn").click(function () { 3 4 $(this).toggleClass('active'); 5 $("#g-nav").toggleClass('panelactive'); 6}); 7 8$("#g-nav a").click(function () { 9 $(".openbtn").removeClass('active'); 10 $("#g-nav").removeClass('panelactive'); 11}); 12$("#closebtn").click(function () { 13 $("#g-nav").removeClass('panelactive'); 14}); 15 16 17 18//fullpage 19$(function () { 20 21$('#fullpage').fullpage({ 22 anchors: ['firstPage', 'secondPage'], 23 loopBottom: false, 24 scrollingSpeed: 700, 25 recordHistory: false, 26 scrollOverflow: true, 27 autoScrolling: true, 28 onLeave: function (index, nextIndex, direction) { 29 if (direction == 'down') { 30 //セクションを下にスクロールしたとき実行されます 31 $('#section02').addClass('js-show'); 32 $('#section02').addClass('js-active'); 33 } else if (direction == 'up') { 34 //セクションを上にスクロールしたときに実行されます 35 36 } 37 38 } 39 40 }); 41 42});
あなたの回答
tips
プレビュー