2010-07-08 34 views
9

Tôi đang sử dụng trên một số cycle plugin divs, như thế này:jQuery Cycle Plugin - Tự động chiều cao cho container

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

tất cả các divs .section có chiều cao thay đổi, dựa trên nội dung của họ. Làm thế nào tôi có thể làm cho chu kỳ không thay đổi kích thước div container (phần) thành chiều cao con lớn nhất? Thay vào đó, tôi muốn vùng chứa thay đổi kích thước trên mọi hình động theo chiều cao con hiện tại.

+0

Mã CSS hiện tại của bạn là gì? – Marko

+0

không có css nào cho .sections/.section. Tôi có nên thêm bất kỳ CSS nào không? html ở trên nằm ở thanh bên của trang. Dưới đây là nội dung khác có thể được thêm vào, đó là lý do tại sao tôi cần hộp chứa tự động chiều cao – Alex

Trả lời

12

đặt containerResize tùy chọn 0 và thử. Chi tiết tùy chọn khác here.

+2

Bạn phải sử dụng phiên bản đầy đủ, chứ không phải lite. – eveevans

21

ok, tôi cố gắng làm điều đó bằng cách gắn một hàm trên 'sau khi' sự kiện:

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}); 
} 

tìm thấy thông tin ở đây: http://forum.jquery.com/topic/jquery-cycle-auto-height

+1

Điều này thật tuyệt, nhưng làm cách nào tôi có thể nhận chu kỳ tính toán lại chiều cao sau khi thêm động nội tuyến? – Florian

1

tôi đã thực hiện nó một chút khác nhau:

$('.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()); 
    } 
    }); 

Các mục của tôi cũng có chiều cao khác nhau. Trước đây, nó đảm bảo rằng thùng chứa đủ lớn cho lớn hơn 2 trang trình bày. Trong phần sau, nó chỉ thay đổi kích thước cho trang trình bày tiếp theo. Bằng cách này, nó không bao giờ quá dòng vì vùng chứa của bạn quá nhỏ.

lưu ý: đây là dành cho chu kỳ 1

Các vấn đề liên quan