2012-08-13 60 views
1

我的同位素佈局在其容器上返回0px高度。刷新頁面始終可以解決問題。同位素間歇性地返回div上的0px高度

有沒有人遇到過這個?

這裏是我的同位素:

var $container = $('#Stream'); 
$container.imagesLoaded(function() { 
    $container.isotope({ 
    itemSelector: '.stream-items', 
    transformsEnabled: false 
}); 

它持續發生間歇儘管在Chrome,Safari和FF。通過「間歇地」,我的意思是有時它是第一次加載,其他時間是第三次或第四次加載,但最終總是會發生。

我在jQuery Mobile上運行,並嘗試加載它的各種選項(window.load,pageinit等),但它無論如何發生。

所以,任何想法都非常感謝,包括任何將強制刷新,總是解決問題的黑客。

謝謝!

更新:剛纔注意到,調整窗口的大小也重置爲0px高度。

+0

'刷新頁面總是解決問題' - 讓我覺得你是在'document.ready'事件處理程序中運行上述代碼。如果是這種情況,那麼你需要去一個jQuery Mobile僞頁面事件的委託事件處理程序。 – Jasper 2012-08-13 21:04:13

+0

@Jasper謝謝!不,但同樣的問題。它現在在$(window).load(function(){'Yikes!不知道如何爲jQuery Mobile僞頁面event_創建一個_delegated事件處理程序。 – user1452893 2012-08-13 21:19:16

+0

您有一個在線我們可以看到你的代碼,並且看到它發生在Chrome的devtools中嗎?也許,這是因爲你動態地創建了你的Isotope元素,並且#container無法計算出高度,因爲沒有內容(還)在某個時間點上嗎? – Systembolaget 2012-08-14 05:19:56

回答

1

它看起來像同位素沒有足夠的時間來計算圖像。 所以我使用window.load來代替。作品一個款待:

$(window).load(function(){ 
    // Gallery Isotope 
    $(function(){ 
     var $container = $('#gallery'); 
     $container.isotope({ 
     itemSelector: 'li', 
      masonry : { 
       columnWidth : 320 
      } 
     }); 
    }); 
});