预装载以及JavaScript Image()对象






















// set image list
images = new Array(); 本文来自织梦
images[0]="image1.jpg" 织梦好,好织梦
images[1]="image2.jpg"
images[2]="image3.jpg" dedecms.com
images[3]="image4.jpg" copyright dedecms
// start preloading 织梦好,好织梦
for(i=0; i<=3; i ) 本文来自织梦
{ 织梦好,好织梦
imageObj.src=images[i];
dedecms.com
}
dedecms.com
} 织梦内容管理系统
</script> 织梦内容管理系统
在上面的例子中,定义了变量i以及名为imageObj的Image()对象。然后定义了新数组images[],每一个数组元素将存储需要预装载图片的地址来源。最后,使用一个for()循环来遍历整个数组,并对每个元素指定Image()对象,以此将图片都预装载到缓存中。
Next page 织梦内容管理系统
Preloading and the JavaScript Image() object
onLoad()事件句柄(event handler)
同JavaScript中的许多其他对象一样,Image()对象同样有许多事件句柄。毫无疑问,其中最有用的是onLoad()句柄,它在图片完全装载时被调用。在图片完全装载之后,可以通过自定义函数来调用此句柄完成特定的功能。下例就给出了采用这样的方法实现如下动作的代码:当装载图片时显示“please wait”屏幕,然后一旦完成装载,就把浏览器引导到一个新的URL。 本文来自织梦
<html> copyright dedecms
<head>
<script language="JavaScript">
织梦好,好织梦
// create an image object
织梦内容管理系统
objImage = new Image();
copyright dedecms
// set what happens once the image has loaded 织梦内容管理系统
objImage.onLoad=imagesLoaded(); 织梦内容管理系统
dedecms.com
// preload the image file 织梦内容管理系统
objImage.src='images/image1n.gif'; 内容来自dedecms
// function invoked on image load copyright dedecms
function imagesLoaded() 织梦好,好织梦
{ dedecms.com
document.location.href='index2.html';
dedecms.com
}
织梦内容管理系统
</script>
</head> 织梦内容管理系统
<body> 内容来自dedecms
Please wait, loading images...
</body>
本文来自织梦
</html> dedecms.com
当然,你也可以创建一个图片数组,然后循环,对每个元素进行预装载,然后跟踪每个阶段所装载的图片数量。一旦所有的图片都被装载,可以对事件句柄编程,以将浏览器带入下一个阶段(或完成其他的任务)。 本文来自织梦
预装载和多状态(Multi-State)菜单
现在,如何将刚刚学习到的所有理论知识应用到实际的应用程序中?下面是一段我最近编写的代码——一个包括按钮(图片链接)的菜单条,每一个按钮都可能处于三种状态中的一种:正常、鼠标悬浮和单击。由于按钮具有多种状态,所以必须使用图片预装载来确保菜单能足够快的对状态改变进行响应。列表A中的代码显示了如何实现此功能:

文章评论
共有位Admini5网友发表了评论 查看完整内容