Image():强制让图片缓存起来

Image 对象

Image 对象代表嵌入的图像。

  • <img> 标签每出现一次,一个 Image 对象就会被创建。
  • 创建一个Image对象:var a=new Image();    定义Image对象的src: a.src=”xxx.jpg”;    这样做就相当于给浏览器缓存了一张图片。

对于浏览器载入图像来说,只有在对图像发送一个 HTTP请求之后,它们才会被浏览器载入,对图像的 HTTP 请求要么使用 <img> 标记,要么通过方法调用实现。如果使用 JavaScript 脚本来处理在 mouseover 事件时交换图像,或者在一段时间之后自动更改图像,那么在从服务器获取图像时可能要等上几秒钟到几分钟的时间。如果使用一个慢速的 Internet 连接,或者要获取的图像非常大,或者其它一些情况,这种现象就特别明显;这样,延迟就造成你不能达到自己期望的效果。 预载入是在需要图像之前将其下载到缓存的一种方法。通过这一措施,当真正需要图像时,它就可以被立即从缓存中取出,从而能够立即显示。

示例:

<!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设置或返回图像的宽度。

标准属性

属性描述
className设置或返回元素的 class 属性。
title设置或返回元素的 title。

Image 对象的事件句柄

事件句柄描述
onabort当用户放弃图像的装载时调用的事件句柄。
onerror在装载图像的过程中发生错误时调用的事件句柄。
onload当图像装载完毕时调用的事件句柄。
function preloader() 
{ 
    var heavyImage = new Image(); 
    heavyImage.src = "3.jpg"; 
    heavyImage.onload=function(){alert(heavyImage.width)}; 
} 

在实际应用中,我们可能需要预载入多个图像,而不止一个。

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];
    } 
} 

 

转载于:https://www.cnblogs.com/Chen-XiaoJun/p/6734267.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值