|
如何让网页中的图像实现淡入淡出的效果 |
|
下面这个程序是我现在参与的一个站点制作中,我亲自编写的一个图像效果程序,希望能够给大家一些参考和启发,也希望有兴趣的朋友和我一同探讨。
这个程序的效果是:但鼠标移上时,图像会逐渐变亮,但鼠标移出时,图像又会变淡。 源程序如下: //图像的的淡出淡入效果 //这个程序里用到了CSS的Filter滤镜的ALPHA滤镜 //这个程序利用到了循环定时器Interval() //dspeed定义颜色加深的单位 //dtspeed定义循环定时器的定时间隔单位(us) //dfirst定义初始透明度 //dlast定义最后透明度 //dnu定义文档中需要处理的图像的个数 //dno定义触发的图像 //dthat定义触发的图像的ALPHA滤镜 //dtime定义循环定时器 //dhere定义与dthat相同,但为了中间转化而用 //dkey,dk,dni为控制量 //如果需要使用,要在<body>中加入onload="dstart()" //并且在需要处理的图像的<img>中加入 id="drdc" value=0 //作者:乔楚 E-mail:[email protected] //参数定义 var dthat,dkey,dno,dtime,dhere,dni,dk=0; var dnu=document.all.dcdr.length; var dspeed=6,dtspeed=1,dfirst=30,dlast=100; //函数定义 //鼠标进入 function dstarta() { dchange(0); } //鼠标移出 function dstartb() { dchange(1); } //主控制函数 function dchange(dkey) { dno=event.srcElement; dthat=dno.filters.alpha; if (dno.value==1) {clearInterval(dtime);dno.value=0;} if (dkey==0) dtime=setInterval("dchangealpha();dno.value=1;",dtspeed); else if (dk==1) {dhere.opacity=dfirst;clearInterval(dtime);dtext.innerText=" ";dk=0;} } //改变ALPHA属性透明度函数 function dchangealpha() {dhere=dthat; dk=1; if (dthat.opacity<=dlast) dthat.opacity+=dspeed; else {clearInterval(dtime);dno.value=0;} } //调用函数 function dstart() {for (dni=0;dni<dnu;dni++) {document.all.dcdr[dni].onmouseover=dstarta; document.all.dcdr[dni].onmouseout=dstartb; } } |