ページ上部にheader
要素でナビゲーションメニューを横並びに作っています。width
が850px以上の場合、左側にaside
要素でサブメニューを縦並びに作っています。しかし、width
が850px以下になった場合、aside
要素をドロップダウンメニューとして使おうと考えています。
例えば、
html
1<header> 2 <ul id="header"> 3 <li><a id="profileLogoName">ABC</a></li> 4 <li>DEF</li> 5 <li>GHI</li> 6 <li>JKL</li> 7 <li>MNO</li> 8 </ul> 9</header> 10 11<aside> 12 <ul> 13 <li>abc</li> 14 <li>def</li> 15 <li>ghi</li> 16 <li>jkl</li> 17 </ul> 18</aside>
width
が850px以下の場合、#profileLogoName
の要素を押すとaside
タグがドロップダウンメニューとして現れる仕様にしたいです。そこでJavaScriptを次のように設定しました。
javascript
1window.onresize = function() { 2 var profile = document.getElementById('profileLogoName'); 3 var subMenu = document.getElementsByTagName('aside')[0]; 4 5 if(window.innerWidth < 850) { 6 profile.addEventListener('click', function() {subMenu.style.display = "block";}) 7 subMenu.addEventListener('click', function() {subMenu.style.display = "none";}) 8 } 9}
しかし、これだといくつか問題点があり、うまくいきませんでした。
どう改善すればいいでしょうか?
回答1件
あなたの回答
tips
プレビュー