javascript - 如何在 Ajax 中使用同位素?

标签 javascript jquery ajax jquery-isotope

通过 Ajax 使用 Isotope 需要执行哪些步骤? Isotope 如何识别容器中新添加的元素? 我已阅读文档,但我没有看到其中任何地方提到 ajax。

在我的代码中,我有一个部分,在本例中是同位素容器。使用 Ajax 刷新部分,并将新内容添加到容器中。所以我想我应该销毁同位素并在所有项目添加到容器后再次初始化它,但这不起作用。

if(isotopeContainer.data('isotope')) {  //checking if isotope is already initialized

   isotopeContainer.isotope('destroy').isotope({
      itemSelector: '.category-item',
      layoutMode: 'fitRows'
   });
} else{initialize it...}

谢谢

最佳答案

我刚刚解决了这个问题,这是因为我直接调用了元素。在我的代码中,我隐藏、取消隐藏容器,然后用新元素替换容器的全部内容。所以我没有委托(delegate)从 DOM 树获取 isotopeContainer。

因此问题可以通过使用以下方法解决:$(document).find('#container')

此外,在 ajax 调用之后,我检查了同位素是否仍然有效,并且看起来并非如此! (我什至没有手动销毁 - 有其他东西在做) 我正在使用以下内容来检查

if($(document).find('#container').data('isotope')) {}

所以在这一步我只是再次初始化同位素,这一次新的元素被拾取,一切似乎都正常。 附加在我的情况下不起作用,因为我正在替换元素,而不是插入或附加。

关于javascript - 如何在 Ajax 中使用同位素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26499184/

相关文章:

javascript - Chrome最新版本(版本47.0.2526.80 m): navigator. webkitGetUserMedia返回一个没有停止功能的流

JQuery 检查是否显示了 Div

javascript - PHP 将 setTimeout() 回显给 javascript

javascript - 如何从异步调用返回响应?

jquery - AngularJS 和 Ajax 帖子 - 如何触发 ajax 错误(而不是成功)回调

javascript - 解码这个基于主密码和网站名称生成密码的javascript

javascript - JScript 参数集合 - .Net 等效项

javascript - 如何显示所选类Jquery的内容

javascript - 使用ajax(不使用jQuery)发送php数组会在服务器上产生错误数据

javascript - 关注ajax生成的文本框