砌体3.1.2前置/附加

时间:2013-09-16 08:50:26

标签: javascript jquery

无法向砌体添加元素...... 从页面开始的所有元素都可以正常工作。 但没有添加......

   <script type="text/javascript">
        $(document).ready(function() {
            $('#container').masonry({
                itemSelector : '.image'
            });
            var msnry = $('#container').data('masonry');


            setInterval(function(){
                msnry.prepended('<div class="image"><div class="wrapper"><img class="img-responsive" src="http://placehold.it/623x834" />asd</div></div>');
            },1000);
        });
    </script>

2 个答案:

答案 0 :(得分:2)

这是我在查看更长时间后想出的代码。

该项必须附加/预先添加到容器中。然后必须告诉砌体附加/预先附加物品。

我希望这会有所帮助。

var $element = $('<div class="item"><img src="http://placehold.it/200x300"</div>');
$container.prepend($element);
$container.imagesLoaded(function() {
    $container.masonry('prepended', $element);
});

答案 1 :(得分:0)

是的,在这个最新版本中有点令人困惑。 砌体上的“附加”方法只会触发新附加元素的布局,但以下是追加工作的示例:

var projects = $('#projects'); 
var elems = []; 
var fragment = document.createDocumentFragment(); 

var elem = $('<div class="item">Here is new item</div>').get(0); 
fragment.appendChild(elem); 
elems.push(elem);
projects.appendChild(fragment); 
msnry.appended(elems);

最重要的是每个新元素都存储在数组'elems'中。

这已在https://tyxo.de/中测试并投放使用。