当窗口宽度超过1024时删除类,而在调整大小时不返回类



这个函数应该是这样工作的:当我调整窗口太大时,它会从元素中删除一些类。如果我再次调整小的大小,它不会返回类。不管怎样,它不起作用。

 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触发意外调整大小事件

最新更新