Gallery脚本不适用于动态附加元素

时间:2016-01-22 15:57:50

标签: javascript jquery isotope

我正在处理一个购买的Isotope图库插件,它会扫描某个图库容器中的所有元素,并根据需要添加/删除类,具体取决于图库过滤。

问题是我现在正在动态获取元素,因此库脚本对于默认加载的元素工作正常,但是一旦我点击“加载更多”以从DB获取更多元素,元素就会被插入容器但我需要在追加后再次执行该库初始化函数。

我尝试将此脚本添加到html head标记:

  <script>
    function reload_js(src) {
       jQuery('script[src="' + src + '"]').remove();
        jQuery('<script>').attr('src', src).appendTo('head');
    }
    </script>

然后我在reload_js之后立即致电$("#container").append(data); 但是附加的元素仍然没有他们应该拥有的额外类。

任何想法?

2 个答案:

答案 0 :(得分:0)

我相信您的回答可以在documentation page上找到。

以下列方式追加元素

// create new item elements
var $items = $('<div class="grid-item">...</div>');
// append items to grid
$grid.append( $items )
// add and lay out newly appended items
.isotope( 'appended', $items )
// sort grid
.isotope({ sortBy : 'symbol' });

你的画廊应该是新布局的。

答案 1 :(得分:0)

好的,解决了!感谢所有帮助者:)

所以将元素插入同位素库的行:
我需要的是:$(&#34;#containerisotope&#34;)。同位素(&#39;插入&#39;,$(数据));

重要 - 这可以为您完成所有工作,无需使用jquery追加。只需这一行插入并正确过滤所有新元素。

链接到isotop doc:http://isotope.metafizzy.co/v1/docs/adding-items.html