javascript - jQuery Isotope - Ajax 页面加载和初始化

标签 javascript jquery ajax jquery-isotope window-load

我有一个可以重新加载的页面(没问题),并且可以通过 Ajax 调用进行调用。

当我将同位素插件的初始化代码放入 $(document).ready 中时,我的同位素项就全乱了。在 $(window).load 中一切正常。

问题是,当通过 Ajax 调用页面时,load 事件显然没有触发。

当我将初始化放入 Ajax 回调中时,我遇到了与 $(document).ready 中相同的问题。

我当前的解决方法是在我的$(document).ready 中设置setTimeout。出于明显的原因,这不是一个好的解决方案。

有什么好的解决方案吗?

最佳答案

尝试检查ajax是否已成功加载,然后调用isotope。

$.getScript("ajax.html", function(data,exception) {   
    if(exception === "success")
    {
        masonryBlocks();
    }
});

function masonryBlocks(){
  $(function(){    
      var $container = $('#container');

      $container.isotope({
        itemSelector: '.box',
        masonry: {
          columnWidth: 1
        }
      });
  });
}

关于javascript - jQuery Isotope - Ajax 页面加载和初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13376966/

相关文章:

javascript - Django - 根据下拉菜单更改发送表单的路由

javascript - 将 javaScript 数组添加到 HTML 页面?

javascript - 设置并使用 localStorage 在表单编辑期间保留复选框选择

javascript - OnChange 和 Click 同时进行

javascript - 导航 anchor 标签不起作用,但为什么呢?

javascript - 使用 jQuery 悬停时工具提示的 CSS 动态位置

c# - 我无法访问 <asp :multiview> 内的 html 元素

javascript - Ajax 请求在 Chrome 上永远挂起

ajax,长轮询和管理两分钟重试

javascript - Facebook 风格上传的图像调整大小和压缩