【问题标题】:JQuery Isotope sort after append追加后的JQuery同位素排序
【发布时间】:2013-12-17 00:23:01
【问题描述】:

我试过了

$("#add").click(function(){
    var $newIems = $("<div class='post-body post item'>itemName</div>")
    $(".items").isotope("append", $newIems, true);
});

$("#sort").click(function(){
    $('.items').isotope({
        getSortData : {
            content: function ( $elem ) {
                return $elem.find('.post-content').text();
            }
        }
    });
    $('.items').isotope({ sortBy : 'date' });
    $('.items').isotope( 'reLayout' )

});

但项目不会得到排序。一般来说,是否可以向同位素容器中添加新项目并对其进行分类?我想做的只是将新项目附加到我的 straightDown 同位素列表的顶部。

更新1:
该项目已使用 prepend() 附加在顶部。
我的前置代码等于 Hady 的(这个问题下面的答案第二个答案)。
但它仍然附加在第二项中,因为不会设置 css 顶部值,这里是 DOM:

<div class="items isotope" style="position: relative; overflow: hidden; height: 354px;">
       <div class="item isotope-item" style="position: absolute;">addedItem</div>
       <div class="item isotope-item" style="position: absolute; left: 0px; top: 0px;">item1</div>
       <div class="item isotope-item" style="position: absolute; left: 0px; top: 81px;">item2</div>
       <div class="item isotope-item" style="position: absolute; left: 0px; top: 172px;">item3</div>
</div>

如您所见,现有项目也没有获得额外的 +top 像素。所以我想我必须在附加新项目后调用 reLayout() ?

【问题讨论】:

    标签: javascript jquery dom jquery-isotope


    【解决方案1】:

    我认为您想使用addItems 方法。检查documentation。还有一个demo你可以试试。

    【讨论】:

    • 好吧,我猜你没听懂这个问题。该项目附加但在底部,我希望它在顶部。所以我的问题是是否有可能在附加或类似的东西之后调用排序,因为它不适用于给定的代码
    • 好吧,在我在上面发布到演示的那个链接上,有一个使用“前置”的例子 - 这应该可以解决问题
    【解决方案2】:

    如果您只是在容器的开头插入新项目,那么您需要前置新创建的项目,而不是附加。 p>

    $("#add").click(function(){
        var $newIems = $("<div class='post-body post item'>itemName</div>")
        $(".items").prepend($newIems).isotope('reloadItems');    
        return false;
    });
    

    【讨论】:

    • 它附加在容器的开头,但它没有 css 顶部值,这意味着它直接附加在第二个后面。我应该在 reloadItems、reLayout 之后调用吗?编辑:没有插入动画,现有项目也不会向下移动
    • 您是否可以在 jsFiddle 上分享您当前的代码和 HTML 结构或更新您的问题?
    猜你喜欢
    • 2021-12-20
    • 2013-07-31
    • 1970-01-01
    • 2014-07-16
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    相关资源
    最近更新 更多