2012-04-15 28 views
6

Vì vậy, tôi đang sử dụng các đồng vị masonry bố tríjquery tùy chọn đồng vị cho chiều cao tự động vào yếu tố

$('section').isotope({itemSelector:'article',layoutMode:'masonry',transformsEnabled: false, animationEngine: 'jquery',masonry:{columnWidth:8}});

Vấn đề là nếu tôi không thiết lập chiều cao cho article trong css, cách bố trí doesn Tôi không thể đặt chiều cao cố định cho các yếu tố, vì chúng là các bài đăng trên blog và có thể thay đổi về kích thước, các bạn có lời khuyên nào về cách giải quyết vấn đề này không?

Trả lời

23

Vấn đề được giải quyết, bạn cần phải gọi $(window).load instead of $(document).ready(

+0

Làm việc cho tôi quá, sử dụng bố cục mặc định tho. Điều thú vị là ví dụ đồng vị mặc định sử dụng '$ (tài liệu) .ready()' .. [Codepen link] (http://codepen.io/desandro/pen/nFrte) – Cammy

+0

Trong khi tải cửa sổ có thể hoạt động, tôi không khuyến khích nó . tải cửa sổ chờ TẤT CẢ nội dung trên trang tải (CSS, JS, img, iframe, v.v.). imagesLoaded phù hợp hơn vì bạn chỉ có thể nhắm mục tiêu các ảnh trong trường hợp Isotope để nạp. – desandro

8
var $container = $('#container').imagesLoaded(function() { 
    $container.isotope({ 
    // options 
    }); 
}); 

Xem Isotope - imagesLoaded

+0

Bạn nói đúng. Trên trang trả về 404 không tìm thấy bây giờ. – Kanu

+0

thông tin là ở đây ngay bây giờ: http://isotope.metafizzy.co/layout.html#imagesloaded – wintersolutions

+0

Đây phải là câu trả lời được chấp nhận, nó từ tác giả sau khi tất cả – Blowsie

0

happend này vì đồng vị doen't biết kích thước hình ảnh của bạn trước khi tải. Cách tốt hơn để làm điều đó là sử dụng một chỉ báo tải (có thể với plugin imageLoaded) để tải các hình ảnh và sau đó thực hiện một Chèn hoặc nối thêm với đồng vị. Bạn sẽ có một điều hướng trơn tru và sự tích hợp của một trang web tải nhanh hơn bằng cách sử dụng $ (window) .load().

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