반응형

jquery 로 슬라이드배너를 만들때 주로 bxslider 를 사용하는데

고쳐져야할 오류가 몇가지 보이네요..

 

 

일단 처음 페이지에 접속 했을때 이미지들이 쭉 나열 되면서 페이지 레이아웃이 깨져서 보이는 부분인데..

이부분은 먼저 레이아웃을 잡기전엔 슬라이더 영역을 안보이게 하고, 로딩이 완료 된 후에 보이게 하는 방식으로

처리를 하면 된다.

<div id="edd" style="visibility:hidden;opacity:0"> <ul class="bxslider"> <li><img src="/image/banner/main_banner_01.jpg"/></li> <li><img src="/image/banner/main_banner_01.jpg"/></li> <li><img src="/image/banner/main_banner_01.jpg"/></li> </ul> </div>

위와 같이 bxslider를 둘러싸고 있는 div 를 하나 만드신 후 style="visibility:hidden" 을 주시고

새로고침 해보시면 해당 영역은 잡혀 있는데 이미지는 보이지 않으실 겁니다.

 

그럼 이제 bxslider이 완료 되면 해당 부분을 다시 보이게 처리 해야 합니다.

<script type="text/javascript"> $(document).ready(function() { $('.bxslider').bxSlider({ mode: 'vertical', slideMargin: 5, pager:false, onSliderLoad: function(){ $("#edd").css("visibility", "visible").animate({opacity:1}); } }); }); </script>

 

위와 같이 onSliderLoad 부분을 넣으시면 슬라이더 로딩이 완료 되면 #edd 의 visibility 를 visible 로 변경 해라 이런 뜻입니다.

이렇게 처리하면 따로 잡힌 영역이 깨지지 않고 레이아웃이 잡히고, bxslider 가 로딩이 완료 된 후에 해당 영역에 출력이 됩니다.

 

 

다른 이슈는 ie에서 무한으로 이미지로딩만 출력 되는 현상인데 이부분은 다음에 다시 올리도록 하겠습니다.

반응형

+ Recent posts