tip

slick 반응형에서 제거하기 Uncaught TypeError: Cannot read property 'add' of null” 오류 해결

이챙(leechaeng) 2020. 12. 1. 11:51

나의 job에서는 slick 사용한다.. 

 

하하 

반응형 작업할때 

pc에서는 slick 이 반응하고 모바일에서는 제거되게끔 하는 소스를 

구글 검색하다 알아내서 

내가 쓸려고 올리는 포스팅 ~~~

 

 

1 .

var slider = $('.slider');  	
var slickOptions = { 		
    infinite: true, 		
   slidesToShow: 1, 		
   slidesToScroll: 1, 		
   dots:true, 		
   arrows:true 	
  };  	
$(window).on('load resize', function() { 		
    if($(window).width() < 767) { 			
        slider.slick('unslick'); 		
    }else{ 			
        slider.not('.slick-initialized').slick(slickOptions); 		
    } 
});

 

slick으로 반응형 작업하다가 Uncaught TypeError: Cannot read property 'add' of null” 오류 나는게

slick 을 여러번 불러와서 나는거라 .not('.slick-initialized')를 해주면 오류가 안난다,

 

위의 코드가 slick 옵션을 변수에 담고

resize 할때마다 옵션을 불러와주는 방법이다.

 

 

 

 

 

2 .

var slider = $('.slider');     
var timer;    

 $(window).on('load resize',function(){         
    clearTimeout( timer );          
    timer = setTimeout( sliderResponsive(), 100 ); 
})       
function sliderResponsive(){         
    if($(window).width() < 767){             
        slider.filter('.slick-initialized').slick('unslick');         
    }else{             
        slider.not('.slick-initialized').slick({                
            arrows: true,                
            slidesToShow: 1,                 
            slidesToScroll: 1            
        });                         
    }       
}

 

위의 코드는 옵션까지 if문안에 넣어서 

리사이징 할때마다 함수로 불러와주는 방법인데

unslick 할때도 오류가 나서 .slick-initialized 를 unslick 해주는 방법으로 적용했다.

 

작업하다가 오류도 나고해서

구글링 하다가 위의 두가지 방법을 발견했다,

사실 둘다 비슷비슷해서,,하하

옵션넣어서 불러와주는 첫번째코드가 깔끔한거 같다.

 

 

반응형