如何获得同位素与动态DOM节点的工作?(How to get Isotope working wit

2019-08-16 23:52发布

我的看法骨干的背景下,我添加和删除DOM中的意见。 然而,仅包含同位素元素的容器的初始加载期间的工作原理; 在那之后,当容器被删除,并添加再次,符合市场预期同位素是行不通的。

我在这里做了快速的jsfiddle: http://jsfiddle.net/mulderp/T8aSQ/6/ - >

当我添加同位素容器:

var list = '<div data-foo="bar" id="container"><div class="item red"></div><div class="item blue"></div></div>';
$container.html(list);
$container.isotope('shuffle');

同位素不运行了,虽然DOM结构将类似于第一。

任何人有一个想法发生了什么,以及如何有同位素阅读元素第一次初始化过程中一个新的?

Answer 1:

前一段时间我在同样的问题,迷迷糊糊的,我解决它以这种方式,如果你想保持操作之间同位素的动画:

在你删除的功能,而不是$container.html(''); 写:

var elToRemove = $container.data('isotope').$filteredAtoms;
$container.isotope('remove',elToRemove);

而在你创造的功能,而不是$container.html(list);

$container.isotope('insert',$(list));

否则,如果你不需要操作之间的动画,你可以让你的功能,因为它们是在你打电话之前洗牌创建函数只是重新初始化同位素。

工作小提琴: http://jsfiddle.net/T8aSQ/7/



文章来源: How to get Isotope working with dynamic DOM nodes?