为了账号安全,请及时绑定邮箱和手机立即绑定

js 或者 jq怎么判断所有图片加载完成?

js 或者 jq怎么判断所有图片加载完成?

动漫人物 2019-03-06 14:09:27
js 或者 jq怎么判断所有图片加载完成?
查看完整描述

5 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

用document的onload事件,或者如果只关心图片,就挂接img的load事件。


$('img').on('load', function() {

    // xxx

});


查看完整回答
反对 回复 2019-03-30
?
交互式爱情

TA贡献1712条经验 获得超3个赞

 /**

 *加载图片

 * @param arr ['图片链接']

 * @returns {Array}

 */

function loadImg(arr) {

    var newimages = [];

    var arr = (typeof arr != "object") ? [arr] : arr  //确保参数总是数组

    for (var i = 0; i < arr.length; i++) {

        newimages[i] = new Promise(function (resolve, reject) {

            var image = new Image();

            image.addEventListener('load', function listener() {

                resolve(image);

                this.removeEventListener('load', listener);

            });

            image.src = arr[i];

            image.addEventListener('error', reject);

        })

    }

    return newimages

}

Promise.all(loadImg(listPics)).then(function () {

    console.log('图片加载完成')

});

之前项目使用过的加载全部图片的处理方案,希望能帮助你

查看完整回答
反对 回复 2019-03-30
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

用到js图片的onload事件,jq的load


查看完整回答
反对 回复 2019-03-30
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

那得预先知道图片的数量了,加一个计数器,在load回调函数中


var i = 0;

$('img').load(function(){

    i++;

    if(i==x){

        ...

    }

});


查看完整回答
反对 回复 2019-03-30
  • 5 回答
  • 0 关注
  • 453 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信