ajax读取图片后排列问题(先加载完图片再排列)

网上找了个瀑布流的图片排列插件。从数据库读取图片路径后显示时出现了位置重叠问题。

 1     $.ajax({
 2         type: "POST",
 3         url: "index.aspx",
 4         data: { 'action': 'SelectImage'},
 5         dataType: "json",
 6         success: function (result) {
 7             var imgpanel = $("#imgitem");
 8             var index = 1;
 9             for (var i in result)
10             {
11                 imgpanel.append("<div class ='item'><img src ='" + result[i] + "'/></div>");
12             }
13             PBL('main', 'item');//瀑布流排序
14         }, error: function (x, e) {
15             alert("error:"+ x.responseText);
16         }
17     });

 

在执行瀑布流排序的时候一些图片还未加载完成,导致图片重叠在了一起。

通过调用img中的onload方法判断图片是否加载完成,加载完成再进行瀑布流排列

修改如下:

 1     $.ajax({
 2         type: "POST",
 3         url: "index.aspx",
 4         data: { 'action': 'SelectImage'},
 5         dataType: "json",
 6         success: function (result) {
 7             var imgpanel = $("#imgitem");
 8             var index = 1;
 9             for (var i in result)
10             {
11                 var img = new Image();
12                 img.src = result[i];
13                 imgpanel.append("<div class ='item'><img src ='" + result[i] + "'/></div>");
14                 img.onload = function () {
15                     if (index == result.length) {
16                         PBL('main', 'item');//瀑布流排序
17                     }
18                     index++;
19                 }
20             }
21         }, error: function (x, e) {
22             alert("error:"+ x.responseText);
23         }
24     });

 

转载于:https://www.cnblogs.com/bakuhert/p/5902091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值