Javascript 当窗口宽度超过1024时删除类,在重新调整大小时不返回类
这个函数应该是这样工作的:当我调整窗口太大时,它会从元素中删除一些类。如果我再次调整小的大小,它不会返回类。无论如何,它不起作用Javascript 当窗口宽度超过1024时删除类,在重新调整大小时不返回类,javascript,Javascript,这个函数应该是这样工作的:当我调整窗口太大时,它会从元素中删除一些类。如果我再次调整小的大小,它不会返回类。无论如何,它不起作用 window.addEventListener('resize', listener, true); var listen = function(element) { this.leveys = window.innerWidt
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);
}
}
};
在您真正调整窗口大小之前,可能已经触发过一次“resize”,然后在第一次执行结束时删除侦听器
此代码是否适用于您
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);
您已将
listener
放入addEventListener
中,但函数名为listen
。而且应该是这个.leveys>1024
?谢谢!我有一个var listen=function(element){this.listener=function(){},你的意思是这两个应该被命名为相反的吗?很好,我尝试添加if(window.innerwidth!=this.leveys){},但仍然不起作用。谢谢,但它不会起作用。控制台中有任何错误吗?它说event.target.classList未定义,我编辑了一点,element.classList.remove(“mobinavi auki-nappi”);现在它工作了!!非常感谢你!!