実現したいこと
ドロワーメニューを
PC画面では「720px以上スクロールしたら表示」
TAB/SP画面では「スクロールに関係なく常時表示」
とさせたいのですがうまくいかない
詳しい状況
下記のコードを試したところ、画面幅1101px以下(sp,tab表示)の場合でも"JS1"のコードが適応されたままになっており"JS2"のコードが全く働いていない状態の様です。
おそらく"JS2"のコードやもっと根本的なところが間違っているのだと思うのですが原因が分かりません...
どうしたらよいでしょうか
ソースコード
HTML
1<div class="drawer"> 2 <ul> 3 <li>メニュー1</li> 4 <li>メニュー2</li> 5 <li>メニュー3</li> 6 </ul> 7</div>
CSS
1drawer { 2 display:block; 3 4 &.is-close { 5 display: none; 6 } 7}
JS1(スクロールして表示・非表示)
1jQuery(window).on("scroll", function() { 2 // トップから720px未満なら 3 if (720 > jQuery(this).scrollTop()) { 4 // is-closeを付けて非表示 5 jQuery('.drawer').removeClass( 'is-close' ); 6 } else { 7 // 720px以上の時はis-closeを外して表示 8 jQuery('.drawer').addClass( 'is-close' ); 9 } 10});
JS2(タブレット以下の画面サイズではスクロールに関係なく表示)
1jQuery(window).resize(function() 2 //画面幅を取得 3 var windowSize = jQuery(window).width(); 4 //タブレット時の画面幅を定義 5 var tab = 1101; 6 7 //もし画面幅が1101px以下の時 8 if(windowSize < tab) { 9 //is-closeを取り除く 10 jQuery('.drawer').removeClass('is-close'); 11 } 12});
試したこと
resizeではなくmatchMediaを使ってみたが効かなかった
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。