图片切换代码

Code:
  1.       本文介绍的这种动态切换图片效果,具有二十三种切换样式,并不是用动画软件制作的动画,而是用Javascript制作出来的效果,是不是有点出乎你的意料。更值得一看的是它只用了廖廖几行程序代码,且变换的图片数量可以随意增加却不增加程序代码。你感到奇怪吗?继续往下看你就明白了。   
  2.   制作思路:   
  3.   给插入的图片加上一个ID(img1)号,以便 Javascript程序对其操作,再给图片加载一个CSS的动态滤镜revealTrans,然后用一小段Javascript程序定时不断地改变revealTrans滤镜的Transition参数值以获得不断地更换切换样式,同时通过程序不断地改变图像标记<img>的“src”(图片的地址)参数值,以获得更换图片的效果。   
  4.   制作方法:   
  5.   1、在网页中插入一张图片,给图片加上ID号为:img1,若改变ID号,那么在程序中也要作相应改变。再给图片加载一个revealTrans滤镜,完成后的图像标记<img>的完整代码如下:   
  6. <img id="img1" src="image/cssp1.jpg" width="200" height="134" style="filter:revealTrans(Transition=1,Duration=1.5)" >    
  7.   滤镜中的Duration是控制切换时间(以秒计)的,本例设置的是1.5秒,若想使切换过程慢一些,可加大Duration参数的值。   
  8.   2、在网页源代码的<head>与</head>之间插入下面这段Javascript程序代码:   
  9. <script language="JavaScript">   
  10. <!--    
  11. var k=0; //声明一个计数器变量   
  12. var imgname1="image/cssp"//所有图片地址的前面相同的部分,要根据实际修改这个值。   
  13. var imgname2=".jpg"//图片的文件格式,可根据实际情修改,前面那个小点不要漏了。   
  14. var imgnub=3; //要展示的图片的张数,根据实际修改此值。   
  15. function start(){ //程序主体部分   
  16. obj=eval("img1"); //若图像标记的ID号改变,请修改括号中的字符串值。   
  17. if (obj.filters.item(0).Transition==23) // 这部分语句是用于改变切换样式,在23种样式中循环。   
  18. obj.filters.item(0).Transition=1;   
  19. else  
  20. obj.filters.item(0).transition++;   
  21. obj.filters.item(0).Apply();   
  22. if (k<imgnub) {k++; //这部分语句用于改变图像标记的src的图片地址(既含路径的文件名)。   
  23. }else {k=1;   
  24. }   
  25. obj.src=imgname1+k+imgname2;   
  26. obj.filters.item(0).Play();   
  27. setTimeout("start(1)",3000); //每三秒钟刷新一次。   
  28. }   
  29. -->   
  30. </script>    
  31.   若要让图片在切换后停留的时间长一点,可加大定时函数setTimeout中的定时数值(以毫秒计)。   
  32.   3、在网页源代码的<body>标记中加上onload="start()"事件,以使得在网页载入时就显示动态切换效果。   
  33.   至此,制作结束。是不是一点都不难?!但在实际制作时应注意以下几点:   
  34.   1、所有图片的文件名和文件格式要统一,用序号区分,如本例所用图片的文件名(含相对路径)为:image/cssp1.jpg、image/cssp2.jpg、image/cssp3.jpg;   
  35.   2、所有图片的大小最好要一致。若图片的大小不一致,虽不影响程序的运行,但在显示时,均以插入在网页上的那张图片的大小来显示,那么,大的图片将缩小显示,小的图片放大显示,影响效果。   
  36.   3、在修改定时器函数setTimeout中的定时时间或修改CSS的revealTrans的切换时间Duration参数的值时,要使前者的时间大于后者的时间,否则,切换过程还没有完成就又开始下一过程了,从而使人无法看清楚图片。另外要注意,定时器是以毫秒为单位计时,而滤镜是以秒为单位计时。     

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章