2012-11-02 31 views
1

我正在嘗試使用JQuery Isotope構建水平版本的JQuery砌體。我希望我的結果看起來像這樣:Jquery Isotope:製作水平砌體

Layout-modes(點擊masonryHorizo​​ntal選項)。

按照網站說明: Masonry Horizontal 我的腳本是這樣的:

$('#isotopecontainer').isotope({ 
     itemSelector : '.item', 
     masonry : { 
      columnWidth : 270 
     } 
}); 

然而,兩件事情正在發生:

1)當頁面加載#isotopecontainer div的高度設置在60px,所以你只能看到.item股利頂部。

2)如果您調整瀏覽器的大小,#isotopecontainer div會展開,但.item div不會像示例一樣排列。

任何人都可以幫我指出正確的方向嗎?我的演示網站是here

謝謝。

回答

1

你演示的站點使用Firefox。

雖然,你說得對,但在Chrome中不是。問題很簡單。 您需要在圖像上設置寬度和高度屬性。否則,Chrome將它們加載爲0px高度(使容器具有行高值的默認高度),直到它們獲取文件。 Firefox不會採用這種方式,並在創建佈局之前等待圖片大小。

希望得到這個幫助!

+0

謝謝,你是正確的,但惱人的是它打破了插件 - 圖像不能正確隔開 – MeltingDog

+0

不幸的是,沒有人可以在加載之前知道圖像的大小。不幸的是,Chrome會在之前開始鋪設你的頁面。所以,你手動設置大小,或者你每次圖像加載(onload事件)時調用同位素的relayout方法... –

0

#isotophecontaineroverflow: hidden。刪除它會顯示Chrome中的所有圖像。

+0

謝謝,但插件代碼似乎補充說明一個理由 – MeltingDog

1

您需要添加layoutMode:'masonryHorizo​​ntal',否則它將無法工作。像這樣:

$('#isotopecontainer').isotope({ 
    itemSelector : '.item', 
    layoutMode: 'masonryHorizontal', 
    masonry : { 
     columnWidth : 270 
    } 

});

+0

謝謝!我一直在尋找:) –