2013-08-27 13 views
6

最新のバージョンのMasonryを組み込みようとすると、このエラーの意味はわかりません。コンソールでは、私はこのメッセージが表示されます。"不良な石積み要素:[オブジェクトオブジェクト]"

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コンストラクタに渡しています。 あなたはjQueryオブジェクトからDOM要素を取得するために$container[0]にそれを変更することができます。

$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の初期化を使いたいと思っていましたが、イメージがロードされた後に石積みのレイアウトが消えるという別のエラーが出ました。しかし、私はそのコールバックを使用するのが正しいアプローチだと思います。 –

関連する問題