img标签加载失败方法(onerror)、加载成功(onload)的方法、readystatechange事件、complete属性
1、error事件(img标签加载失败的方法)
< img src=“123” :οnerrοr=“defaultImg()” />
function defaultImg(){ //地址错误时,直接删除img标签
this.remove()
}
或者
function defaultImg(event){ //地址错误时,设置默认图片
let img = event.srcElement;
img.src = ‘默认图片地址’;
img.onerror = null; //防止闪图
}
2、onload事件(img标签加载完成的方法)
< img src=“123” :οnload=“successImg()” />
function successImg(){
//code ......
}
优点:简单易用. 缺点:只能指定一个元素,javascipt代码必须置于图片元素的下方
3、readystatechange事件
loading...
img.onreadystatechange = function() {
if(img.readyState=="complete"||img.readyState=="loaded"){
p.innerHTML = 'readystatechange:loaded'
}
}
readyState为complete和loaded则表明图片已经加载完毕。测试IE6-IE10支持该事件,其它浏览器不支持。
4、complete属性
loading...
function imgLoad(img, callback) {
var timer = setInterval(function() {
if (img.complete) {
callback(img)
clearInterval(timer)
}
}, 50)
}
imgLoad(img1, function() {
p1.innerHTML('加载完毕')
})
轮询不断监测img的complete属性,如果为true则表明图片已经加载完毕,停止轮询。该属性所有浏览器都支持。
参考链接:https://www.jb51.net/article/84136.htm 参考链接:https://blog.csdn.net/qq_39882537/article/details/90318296