<header> <nav id="menu_bar"> <ul id="menu_list"> <li>Home</li> <li>Gallery</li> <li>Blog</li> </ul> </nav> </header>
与えたいCSS
.scroll_nav{ background-color: #000; color: #fff; }
このヘッダーにスクロールした際にクラスを与えcssの変化をつけようとしますが
jsにて「Uncaught TypeError: Cannot read property 'remove' of undefined」
というエラーを吐いてしまいます。
var menu = document.getElementsByTagName('header'); var topOfmenu = menu.offsetTop; function fixnav(){ if( window.scrollY > topOfmenu ){ document.getElementsByTagName('header').classList.add('scroll_nav'); } else { document.getElementsByTagName('header').classList.**remove**('scroll_nav'); } }; window.addEventListener('scroll',fixnav);
エラーに関しては、removeのプロパティがなくてremoveが読み込めません
という解釈でよろしいでしょうか?
そしてclassを与えるにはここからどうすればよいでしょうか
よろしくお願いいたします
回答1件
あなたの回答
tips
プレビュー