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”);现在它工作了!!非常感谢你!!