0

FlickrSet から bootrasp 3 コンテナーに画像をロードし、Masonry でサイズ変更する方法を探しています。

コンテナーの高さが常に 0 に等しいことがわかります。imagesLoaded を使用する必要があると思いますが、imagesLoaded は機能しないようです。簡単に言えば、コンテナの高さは 0 です。

これはコードです、誰かが私を助けることができますか?

var $gallery = $('#gallery');
if ($gallery.length!=0) {
    var url1    = 'http://api.flickr.com/services/feeds/photoset.gne?set=';
    var url3    = '&nsid=';
    var url5    = '&lang=en-us&format=';
    var url7    = '&jsoncallback=?';
    var set     = 'xxxxxx';
    var nsid    = 'yyyyyy@N06';
    var format  = 'json';
    var src;
    var finalUrl        = url1 + set + url3 + nsid + url5 + format + url7;
    $.getJSON(finalUrl,function(data){
        $.each(data.items, function(i,item){
            $('<img/>').attr({src : item.media.m.replace('_m.','.')}).appendTo($gallery);
        });
    });
            $gallery.imagesLoaded( function() {
                 $gallery.masonry();
            });
} // if
4

1 に答える 1

1

ajax コールバック内masonryでメソッドを実行する必要があります (画像が DOM に追加された後) 。imagesLoaded

   $.getJSON(finalUrl,function(data){
        $.each(data.items, function(i,item){
            $('<img/>').attr({src : item.media.m.replace('_m.','.')}).appendTo($gallery);
        });

        $gallery.imagesLoaded( function() {
             $gallery.masonry();
        });
    });
于 2013-10-01T13:19:46.603 に答える