![](/img/trans.png)
[英]How do I make the javascript resize event handler happen only after the user stops resizing the window?
[英]JavaScript: How do I add a class on a 'resize' event after removing it?
我在窗口中添加了一个事件监听器,以监听resize事件。 本质上,当浏览器的宽度低于768px时,我想删除'center'
类,然后当高于768px时,将其添加回去。
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(…)
感谢任何帮助!
您已经用if语句弄乱了循环。
if (width < 768) {
for (i = 0; i < div.length; i++) {
div[i].classList.remove("center");
}
} else {
div[i].classList.add("center");
}
应该:
for (i = 0; i < div.length; i++) {
if(width < 768)
div[i].classList.remove("center");
} else {
div[i].classList.add("center");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.