在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/UI  HTML/ image load 方法執(zhí)行順序?qū)е聢D片抖動(dòng)的問(wèn)題

image load 方法執(zhí)行順序?qū)е聢D片抖動(dòng)的問(wèn)題

我的代碼圖片載入代碼分為三塊
1.加載圖片模板(這時(shí)候圖片沒(méi)有src)
2.綁定load方法(動(dòng)態(tài)調(diào)整圖片大小)
3.給圖片循環(huán)添加路徑

我想要的效果是:在圖片未load之前就調(diào)整好圖片大小,在第三步的時(shí)候直接顯示調(diào)整后大小,
然而并沒(méi)有按我的想法來(lái),
現(xiàn)在的執(zhí)行順序是:加載模板后直接給圖片添加了scr,最后才去執(zhí)行l(wèi)oad方法的,所以在界面上就顯示為圖片先變大再變小,導(dǎo)致會(huì)有視覺(jué)上的抖動(dòng),請(qǐng)各位大牛幫忙看看如何解決這個(gè)問(wèn)題~
以下是具體代碼

// 加載模板
    that.thumbnailBody.html(thumbnailFragments);
// 綁定load方法
    that.thumbnailBody.find('.thumbnail-cell > .thumbnail-image').find('img').off('load').on('load', function () {
      var width = $(this).parent().width(), height = $(this).parent().height();
      reSizeImage(this, width, height);
    });
// 給圖片循環(huán)添加路徑
    that.thumbnailBody.find('.thumbnail-cell > .thumbnail-image').find('img').each(function (index, img) {
        var item, alt, id;
        item = data[index];
        alt = item.panel_id;
        id = item.panel_id;
        img.src = item.ordinaryPath;
        img.id = id;
        img.alt = alt;
    });
回答
編輯回答
墨小羽

取數(shù)據(jù)的時(shí)候把圖片寬高取回來(lái),直接放在 <img> 里。

2018年1月21日 07:28
編輯回答
陌南塵

按你的做法和描述,抖動(dòng)發(fā)生在

var width = $(this).parent().width(), height = $(this).parent().height();
reSizeImage(this, width, height);,

可以看出,當(dāng)一個(gè)圖片load完之后,這個(gè)圖片的寬高(原始的寬高或者設(shè)置的寬高)和父容器設(shè)置的寬高不一致導(dǎo)致的問(wèn)題?。?br>你只要從這個(gè)原因繼續(xù)分析應(yīng)該能找到解決辦法。

2018年7月1日 10:14
編輯回答
維他命

請(qǐng)問(wèn)that.thumbnailBody.find('.thumbnail-cell > .thumbnail-image')的大小是固定的嗎?如果是固定的話,可以先each一下that.thumbnailBody.find('.thumbnail-cell > .thumbnail-image'),先更改img的寬高, 然后再給src

2018年5月23日 03:48