我有一个可以重新加载的页面(没问题),并且可以通过 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/