Image 对象表明嵌入的图像。javascript
对于浏览器载入图像来讲,只有在对图像发送一个 HTTP请求以后,它们才会被浏览器载入,对图像的 HTTP 请求要么使用 <img> 标记,要么经过方法调用实现。若是使用 JavaScript 脚原本处理在 mouseover 事件时交换图像,或者在一段时间以后自动更改图像,那么在从服务器获取图像时可能要等上几秒钟到几分钟的时间。若是使用一个慢速的 Internet 链接,或者要获取的图像很是大,或者其它一些状况,这种现象就特别明显;这样,延迟就形成你不能达到本身指望的效果。 预载入是在须要图像以前将其下载到缓存的一种方法。经过这一措施,当真正须要图像时,它就能够被当即从缓存中取出,从而可以当即显示。html
示例:java
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Image</title> <script language = "JavaScript"> function preloader() { var heavyImage = new Image(); heavyImage.src = "3.jpg"; } </script> </head> <body onLoad="javascript:preloader()"> <a href="#" onMouseOver="javascript:document.img2.src='3.jpg'"> <img name="img2" src="2.jpg"> </a> </body> </html>
请注意,图像标记自己不能处理 onMouseOver() 和 onMouseOut() 事件,这就是上例中<img> 标记被包含在一个<a> 标记之中的缘由,<a> 标记支持这两个事件类型。 浏览器
如图,所需的图片都已经加载。缓存
Image 对象的属性服务器
属性 | 描述 |
---|---|
align | 设置或返回与内联内容的对齐方式。 |
alt | 设置或返回没法显示图像时的替代文本。 |
border | 设置或返回图像周围的边框。 |
complete | 返回浏览器是否已完成对图像的加载。 |
height | 设置或返回图像的高度。 |
hspace | 设置或返回图像左侧和右侧的空白。 |
id | 设置或返回图像的 id。 |
isMap | 返回图像是不是服务器端的图像映射。 |
longDesc | 设置或返回指向包含图像描述的文档的 URL。 |
lowsrc | 设置或返回指向图像的低分辨率版本的 URL。 |
name | 设置或返回图像的名称。 |
src | 设置或返回图像的 URL。 |
useMap | 设置或返回客户端图像映射的 usemap 属性的值。 |
vspace | 设置或返回图像的顶部和底部的空白。 |
width | 设置或返回图像的宽度。 |
标准属性spa
属性 | 描述 |
---|---|
className | 设置或返回元素的 class 属性。 |
title | 设置或返回元素的 title。 |
Image 对象的事件句柄code
事件句柄 | 描述 |
---|---|
onabort | 当用户放弃图像的装载时调用的事件句柄。 |
onerror | 在装载图像的过程当中发生错误时调用的事件句柄。 |
onload | 当图像装载完毕时调用的事件句柄。 |
function preloader() { var heavyImage = new Image(); heavyImage.src = "3.jpg"; heavyImage.onload=function(){alert(heavyImage.width)}; }
在实际应用中,咱们可能须要预载入多个图像,而不止一个。htm
function preloader() { // counter var i = 0; // create object var arr = new Array(4) // set image list var images = new Array(); images[0]="1.jpg" ; images[1]="2.jpg" ; images[2]="3.jpg" ; images[3]="4.jpg" ; // start preloading for(i=0; i<=3; i++) { arr[i] = new Image(); arr[i].src = images[i]; } }