私はサイズ変更イベントを待ち受けるために、イベントリスナーをウィンドウに追加しています。基本的には、ブラウザの幅が768pxを下回ったときに'center'
クラスを削除してから、768px以上になったときに追加したいと思います。JavaScript:クラスを削除した後、 'サイズ変更'イベントにクラスを追加するにはどうすればよいですか?
window.addEventListener('resize', function() {
var width = 0,
doc = document,
div = doc.getElementsByTagName('div'), i;
if (window.innerHeight) {
width = window.innerWidth;
} else if (doc.documentElement && doc.document.documentElement.clientHeight) {
width = doc.documentElement.clientWidth;
} else if (doc.body) {
width = doc.body.clientWidth;
}
if (width < 768) {
for (i = 0; i < div.length; i++) {
div[i].classList.remove('center');
}
} else {
div[i].classList.add('center');
}
}, false);
これは正しく削除しますが、コンソールを確認するとすぐにこのエラーが発生します。 ...それは発症からそのエラーをログに記録する理由がわからない
index.html:591 Uncaught TypeError: Cannot read property 'classList' of undefined(…)
任意の助けに感謝!
ただ、好奇心から、なぜあなたは、単にこれを行うにはCSSメディアクエリを使用していませんか? –
CSSで '@media query 'を使用してみませんか? – TheValyreanGroup
'doc.documentElement'は' doc.documentElement'に、if(window.innerHeight)はwindow.innerWidthを読むべき場所にあります。 – amdouglas