2010-07-08 3 views
9

나는 다음과 같이 몇 가지 div의에 cycle plugin을 사용하고 자동 높이 :jQuery를주기 플러그인 - 컨테이너

<div class="sections"> 
    <div class="Section"> <img /> text </div> 
    <div class="Section"> <img /> text </div> 
    <div class="Section"> <img /> text </div> 
</div> 

모든 .section div를 그 내용에 따라 변수 높이를 가지고있다. 컨테이너 div (섹션)의 크기를 가장 큰 하위 키의 높이로 변경하지 않으려면 어떻게 순환시킬 수 있습니까? 대신 컨테이너가 모든 애니메이션에서 현재 하위 키의 크기로 조정되기를 원합니다.

+0

현재 사용중인 CSS 코드는 무엇입니까? – Marko

+0

.sections/.section에는 전혀 CSS가 없습니다. CSS를 추가해야합니까? 위 HTML은 페이지 세로 막대에 있습니다. 그 아래에 다른 내용을 추가 할 수 있으므로 자동 높이 컨테이너가 필요합니다. – Alex

답변

21

좋아, 나는 이벤트 '후'에 함수를 후킹하여 수행하는 관리

$('.cycle-list').cycle({ 
    containerResize: 0, 
    before: function(currSlideElement, nextSlideElement, options, forwardFlag) { 
     var container = $(this).parent(); 
     container.css('height', Math.max(container.height(), $(nextSlideElement).height())); 
    }, 
    after: function(currSlideElement, nextSlideElement, options, forwardFlag) { 
     $(this).parent().css('height', $(this).height()); 
    } 
    }); 

다른 항목도 높이가 다릅니다. 이전에는 컨테이너가 2 개의 슬라이드 중 큰쪽에 충분히 큰지 확인합니다. 이후에는 다음 슬라이드로 크기가 조절됩니다. 컨테이너가 너무 작기 때문에 이런 식으로 오버 플로우되지 않습니다.

참고 : 이것은주기 1입니다.

+1

이것은 좋지만 인라인 컨텐츠를 동적으로 추가 한 후 높이를 다시 계산하려면주기를 어떻게 얻을 수 있습니까? – Florian

1

나는 그것을 다른 조금 짓을했는지 :

function onAfter(curr, next, opts, fwd) { 
    var $ht = $(this).height(); 

    //set the container's height to that of the current slide 
    $(this).parent().animate({height: $ht}); 
} 

여기에 정보를 발견

관련 문제