0

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

当我把isotope插件的初始化代码放进去时,$(document).ready我的同位素项目都搞砸了。在$(window).load一切工作正常。

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

当我将初始化放在Ajax回调中时,我遇到了与$(document).ready.

我当前的解决方法是setTimeout在我的$(document).ready. 这显然不是一个好的解决方案。

有什么好的解决方案吗?

4

1 回答 1

4

尝试检查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
        }
      });
  });
}
于 2012-11-30T20:01:43.367 回答