用JavaScript实现页面百叶窗效果
http://www.ccidnet.com/school/web/2002/05/16/100_6433.html

解决方案 »

  1.   

    http://www.google.com/search?hl=zh-CN&ie=UTF-8&oe=UTF-8&q=%E7%89%B9%E6%95%88+javascript+%E7%99%BE%E5%8F%B6%E7%AA%97&lr=
      

  2.   

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