js 图片预加载,失败和中断处理

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>小小菜鸟</title>
</head>
<body>
    <img class="load_img" src="https://img0.baidu.com/it/u=4217284373,243829174&fm=253&fmt=auto&app=138&f=JPEG?w=890&h=500">
    <img class="load_img" src="https://img1.baidu.com/it/">
    <img class="load_img" src="https://img1.baidu.com/it/u=3726332041,3886765468&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500">
    <img class="load_img" src="https://img0.baidu.com">
    <img class="load_img" src="https://img1.baidu.com/it/u=3726332041,3886765468&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500">
    <img  src="https://img1.baidu.com/it">
<script>
    //获取需要加载的img
    let dom_img=document.getElementsByClassName("load_img");
    debugger
    /**
     * 遍历imgs数组,将所有图片加载出来
     */
    let img_array=[];
    for (let i = 0; i < dom_img.length; i++) {
        console.log(dom_img);
        let imgObj = new Image(); // 创建图片对象
        imgObj.src = dom_img[i].src;
        imgObj.addEventListener('load', function (e) { // 这里没有考虑error,实际上要考虑
            console.log("这些是加载成功出来的,不用做处理")
        }, false);
        imgObj.addEventListener('error', function (e) { // 考虑error
            console.log("这里是加载失败的");
            //渲染失败的图片
            dom_img[i].src="https://img2.baidu.com/it/u=2828556289,951156698&fm=253&fmt=auto&app=138&f=JPEG?w=499&h=500";
        }, false);

        imgObj.addEventListener("abort", function (e) { // 考虑error
            console.log("这里是加载终止");
            //渲染终止的图片
            dom_img[i].src="https://img2.baidu.com/it/u=2828556289,951156698&fm=253&fmt=auto&app=138&f=JPEG?w=499&h=500";
        }, false);

    }
</script>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值