<div class="s1"></div>
<script type="text/javascript">
var tyu = document.getElementsByClassName('s1')[0]
tyu.onclick = function(){
var ase = new Image();
ase.src = 'ima/KcR8-htwhfzt1608509.jpg';
if(ase.complete){
alert('ss')
}
ase.onload = function(){
alert('sa')
}
}
</script>
这两天学习图片预加载之后的一些疑问。网上有人说要把img.onload放在src前面这样才能保证被执行尤其是在ie下要是放在src后面不会被执行,但是我测试过在ie下onload放在src后面也能被执行而且连续打开数次都能被执行。还有这个complete属性到底 是判断图片加载的还是判断图片是否显示出来的??懂得大神们帮忙解释一下。网上说的一些都不对呀!!
给
image.src
赋值后就开始异步加载,我觉得可能是image.onload
放在后面依然被执行可能是图片的加载速度和程序执行速度的原因,如果图片加载在执行image.onload
赋值语句之前完成,则赋值给onload
的回调不会执行,如果图片加载在image.onload
赋值语句之后完成,则此时赋值给onload
的回调就会执行。所以规范点话,image.onload
和image.onerror
都会放在image.src
之前.