JS判断图片加载是否完成

首先写一个包含一张图片的静态页面,如下:

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <img
        id='img1'
        style="width:200px"
        src="http://pic1.win4000.com/wallpaper/f/51c3bb99a21ea.jpg" />
    <p id="flag" >
        loading...
    </p>
    <script>
        var flag = document.getElementById('flag');
        var img1 = document.querySelector('#img1');
    </script>
</body>

为了通过 JS 判断图片加载是否完成,可以采用以下三种方式:

        // 方式一 监听onload (不兼容 IE8 及其以下的浏览器)
        img1.onload = function() {
            console.log('1:', Date.now())
            flag.innerHTML = 'loaded1'
        }
        // 方式二 监听onreadystatechange // 只支持 IE
        img1.onreadystatechange = function () {
            if (this.readyState === "complete" || this.readyState === "loaded") {
                flag.innerHTML = "loaded2"
            }
        }
        // 方式三 轮询 complete 属性
        var timer = setInterval(function() {
            if (img1.complete) {
                flag.innerHTML = 'load3'
                clearInterval(timer)
            }
        }, 50)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,916评论 25 708
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,003评论 3 119
  • 今天下班还算准时,凌晨五点(夜班)就下班了,这要是搁在平时,至少得加班一个钟头左右,我出门便四处张望,不远处一辆摩...
    奔跑或东篱阅读 204评论 0 0
  • 今日应邀参加了国药控股北京天星普信生物医药有限公司的的一个医疗器械招商会,这次招商会大约有200多人参与,地址...
    张飞龙在天阅读 4,748评论 0 1
  • 栀子的芬芳年年上演,一如毕业总会到来,不迟到也不会错过。 仿佛是一种默契,每当淡淡的离愁别绪在校园里弥漫荡漾之际,...
    坐忘mao阅读 225评论 4 0