这个函数应该是这样工作的:当我调整窗口太大时,它会从元素中删除一些类。如果我再次调整小的大小,它不会返回类。不管怎样,它不起作用。
window.addEventListener('resize', listener, true);
var listen = function(element) {
this.leveys = window.innerWidth;
this.element = element;
this.listener = function(){
//If window width is over 1024, remove classes
if(leveys>1024){
this.element.classList.remove("mobinavi-auki-nappi");
document.querySelectorAll(".mobilesearch")
.forEach((element2) =>
element2.classList.remove("mobinavi-auki-haku") );
document.querySelectorAll(".menu-bar-items")
.forEach((element2) =>
element2.classList.remove("mobinavi-auki-hakulaatikko") );
// Remove eventlistener
window.removeEventListener('resize', listener, true);
}
}
};
此代码适用于您吗?
window.addEventListener('resize', function listen(event) {
if (window.innerWidth > 1024) {
event.target.classList.remove("mobinavi-auki-nappi");
document.querySelectorAll(".mobilesearch")
.forEach((element2) =>
element2.classList.remove("mobinavi-auki-haku"));
document.querySelectorAll(".menu-bar-items")
.forEach((element2) =>
element2.classList.remove("mobinavi-auki-hakulaatikko"));
window.removeEventListener('resize', listen, true);
}
}, true);
在您真正调整窗口大小之前,可能已经触发了一次‘resize’,然后它在第一次执行结束时删除了Listener。
iphone/ipad触发意外调整大小事件