2014-01-31 3 views
1

나는 flexslider를 사용하여 반응 형 회전 목마를 만들어야합니다. 문제는 브라우저 창을 컨테이너 크기보다 작게 만들면 항목 위치가 엉망이된다는 것입니다. flexslider 응답하는 회전 목마 문제

enter image description here

이것은> 800 화면 (!) enter image description here

내 JS 초기화에 상기 슬라이더의 스크린 샷이다> 1,200 화면 슬라이더의 스크린 (미세)이다 :

$('.flexslider').flexslider({ 
    animation: "slide", 
    animationLoop: true, 
    touch: true, 
    mousewheel: true, 
    itemWidth: 400,   
    prevText: "", 
    nextText: "" 
    }); 

이미지 (2)에서 알 수 있듯이 세 번째 이미지가 잘립니다. 해상도가 임계 값에 도달했을 때 보이는 요소의 수를 2 개로 줄이고 사용 가능한 공간에 이미지를 적용하여 아무것도 잘리지 않게하고 싶습니다. 아이디어?

조금 늦게하지만이 방법으로 문제가 해결 될 것 같습니다
+0

CSS를 사용하고 img 너비를 33 %로 설정할 수 없습니까? – Phil

+0

안녕하세요 @ phil, 슬라이딩시 너비를 재설정하는 것 같습니다. 또한 모든 항목을 포함하는 상위 div의 너비는 1000 %이므로 도움이되지 않습니다. –

+0

내가 나중에있어. Flexslider 사양을 살펴 보았습니다. 내장 된 itemWidth 옵션은 어떻습니까? 그 값을 백분율 기반 값으로 변경할 수 있습니까? – Phil

답변

0

flexslider에 itemWidth이 있기 때문입니다. 각 장치에서 너비를 유연하게 만들려면 미디어 쿼리를 작성해야합니다. 그리고 그 전에이 여분의 스크립트를 추가하고 시도하십시오.

// tiny helper function to add breakpoints 
var getGridSize = function() { 
    return (window.innerWidth < 600) ? 1 : 
     (window.innerWidth < 900) ? 2 : 3; 
} 

$('.flexslider').flexslider({ 
    animation: "slide", 
    animationLoop: false, 
    itemWidth: 200, 
    itemMargin: 40, 
    minItems: getGridSize(), // use function to pull in initial value 
    maxItems: getGridSize(), // use function to pull in initial value 
    directionNav: true, 
    controlNav: false, 
    slideshow: false, 
});