有时需要获取图片的尺寸,这需要在图片加载完成以后才可以。有三种方式实现,下面一一介绍。
一、load事件

loading...
<script type="text/javascript"> <BR>img1.onload = function() { <BR>p1.innerHTML = 'loaded' <BR>} <BR></script>
测试,所有浏览器都显示出了“loaded”,说明所有浏览器都支持img的load事件。
二、readystatechange事件

loading...
<script type="text/javascript"> <BR>img1.onreadystatechange = function() { <BR>if(img1.readyState=="complete"||img1.readyState=="loaded"){ <BR>p1.innerHTML = 'readystatechange:loaded' <BR>} <BR>} <BR></script>
readyState为complete和loaded则表明图片已经加载完毕。测试IE6-IE10支持该事件,其它浏览器不支持。
三、img的complete属性

loading...
<script type="text/javascript"> <BR>function imgLoad(img, callback) { <BR>var timer = setInterval(function() { <BR>if (img.complete) { <BR>callback(img) <BR>clearInterval(timer) <BR>} <BR>}, 50) <BR>} <BR>imgLoad(img1, function() { <BR>p1.innerHTML('加载完毕') <BR>}) <BR></script>
轮询不断监测img的complete属性,如果为true则表明图片已经加载完毕,停止轮询。该属性所有浏览器都支持。











