2013-08-27 52 views
6

試圖融入最新版本的砌體,我對這個錯誤意味着什麼毫無頭緒。在控制檯中,我得到這個消息:「錯誤的砌體元素:[object Object]」

Bad masonry element: [object Object] plugins.js:16 
y plugins.js:16 
n plugins.js:16 
(anonymous function) script.js:24 
c jquery.js:3048 
p.fireWith jquery.js:3160 
x.extend.ready jquery.js:433 
q 

我的腳本 -

var $container = $('#container'); 

$container.imagesLoaded(function(){ 
    var msnry = new Masonry($container, { 
     columnWidth: 320, 
     itemSelector: '.item' 
    }); 
}); 

我已經取得了一定要包括imagesLoaded插件,即使我排除這種顯示相同的錯誤。它似乎是指我的plugins.js文件,其中存儲了Masonry的代碼,但我沒有修改任何內容。

回答

15

您正在將jQuery對象($container)傳遞給不期望它的Masonry構造函數。 您可以將其更改爲$container[0]從jQuery對象得到的DOM元素:

$container.imagesLoaded(function(){ 
    var msnry = new Masonry($container[0], { 
     columnWidth: 320, 
     itemSelector: '.item' 
    }); 
}); 

或使用jQuery初始化:

$container.imagesLoaded(function(){ 
     $container.masonry({ 
      columnWidth: 320, 
      itemSelector: '.item' 
     }); 
    }); 
+0

感謝。我想使用jQuery初始化,但這給了我另一個錯誤,因爲圖像加載後砌體佈局消失了。但我想用這個回調是正確的方法。 –

相關問題