前提・実現したいこと
ハンバーガーメニューを開いた時背景を固定するため
全体を囲む<div id="content">にfixedを付けた。
メニューボタンをクリックした瞬間最上部に移動してメニューが開き
メニューを閉じると最上部に移動したままになるので開いた位置で表示させたい。
該当のソースコード
$('.menu').click(function(){ var scrollPos = $(window).scrollTop(); $(this).toggleClass('open'); $('#header_logo').toggleClass('openmenu'); if($(this).hasClass('open')){ $('#content').css({'position':'fixed'}); } else { $('#content').css({'position':''}); } $('.closemenu').click(function(){ $('.menu').removeClass('open'); $('#header_logo').removeClass('openmenu'); $('#content').css({'position':''}); }); });
<div class="menu" id="menu-sp"> <span class="menu__line menu__line--top"></span> <span class="menu__line menu__line--center"></span> <span class="menu__line menu__line--bottom"></span> </div>
試したこと
過去の質問を参考に.scrollTop()を指定しました
途中までは値を保持しているようですが、閉じる時に値が0になってしまい動かないです。
ご教示いただけると嬉しいです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。