0

所以我有一个有 2 个容器#container#container2. 我将 jquery 用于append一个容器的特定大小的内容,而将其他内容用于另一个容器。这是该代码:

$(document).ready(function() {
    $('.entry').each(function() {
        if ($(this).height() > 200) {
            $('#container2').append(this);
        }
        else {
            $('#container').append(this);
        }
    });
});

所以我的问题是,使用无限滚动和砌体,当新内容可用时,jquery 不会再次运行以将内容附加到正确的容器中。我可以添加什么以便能够将内容附加到正确的容器中?

注意:每个容器可以有数以万计的图像。

更新:

这是我的砌体代码:

$(window).load(function() {
    var $wall = $('#container');
    $wall.imagesLoaded(function() {
        $wall.masonry({
            itemSelector: '.entry, .entry_photo',
            isAnimated: false
        });
    });

    $wall.infinitescroll({
        navSelector: '#page-nav',
        nextSelector: '#page-nav a',
        itemSelector: '.entry, .entry_photo',
        bufferPx: 2000,
        debug: false,
        errorCallback: function() {
            $('#infscr-loading').fadeOut('normal');
        }},
    function(newElements) {
        var $newElems = $(newElements);
        $newElems.hide();
        $newElems.imagesLoaded(function() {
            $wall.masonry('appended', $newElems, {isAnimated: false}, function() {
                $newElems.fadeIn('slow');
            });
        });
    });
    $('#container').show(500);
});

#container所以发生的情况是,下一个帖子加载时,无论其高度如何,都会加载。这清楚地表明砌体工作正常,但加载时不会再次调用 jquery。有什么方法可以确保它调用我需要的 jquery?我怎么做?

4

1 回答 1

0

我认为您必须在masonry plugin添加后初始化contentcontainers

喜欢,

$(document).ready(function(){
    $('.entry').each(function(){
        if($(this).height()>200){
            $('#container2').append(this);
        }
        else{
            $('#container').append(this);
        }
    });
    // masonry plugin initialization after adding content to div
});
于 2013-06-03T05:27:14.190 回答