我正在运行一个脚本,该脚本从ajax请求加载图像和数据,然后将其显示在我的Blocksit库(用于masonary库的jquery插件)中。问题div是在图像实际加载之前创建的,因此它们无法正确放置在库中。我需要以某种方式保存数据,加载它,然后运行该功能来显示图库。我尝试过使用setTimout,但显然没有运气。这是我的代码:
("#loadMore").click(function(){
$.ajax({
url: "loadMore.php",
data: {count: count,
type: type},
type: "POST",
success: function(html){
var data = jQuery.parseJSON(html);
if (data.html == "stop"){
}
else{
setTimeout(function() {
$('#container').append(data.html);
$('#container').BlocksIt({
numOfCol: 3,
offsetX: 5,
offsetY: 5
});
}, 2000);
$('html, body').animate({ scrollTop: $(document).height()-$(window).height() }, 500, "linear");
count = $(".grid").length;
}
}
});
});
非常感谢任何帮助:)
答案 0 :(得分:1)
尝试使用以下步骤 -
创建dom
$('<img/>')[0].src = /* ur url */;
然后运行代码onLoad事件
$('img').load(function(){
// your code
});
实际上浏览器足够聪明,直到dom中没有添加数据它才会加载.....它甚至不会设置超时的时间,所以尝试创建dom然后加载img将其插入正确的位置