Posted in Javascript onDecember 12, 2012
网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享
废话少说,看代码
sx.activex.imagefade={ init:function(imga,fadeint,fadeoutt){ var ti=new Array(); for(var i=0;i<imga.length;i++){ ti[i]=new Image(); ti[i].src=imga[i] } var div=document.createElement("div"); var img=document.createElement("img"); img.src=ti[0].src; var span=document.createElement("span") span.style.backgroundColor="yellow"; var a=[]; for(var i=0;i<imga.length;i++){ a[i]=document.createElement("a") a[i].style.backgroundColor="red"; a[i].style.width="10px"; a[i].style.margin="2px"; a[i].href="javascript:void(0)"; a[i].onclick=function(r){ return function(){ var t=100; var t1=0; var h=window.setInterval(function(){ if(t>=0){ img.style.filter="alpha(opacity="+t+");"; t=t-2;} else{ window.clearInterval(h); img.src=ti[r].src; var h1=window.setInterval(function(){ if(t1<=100){ img.style.filter="alpha(opacity="+t1+");"; t1=t1+2;} else{ window.clearInterval(h1); } },fadeint); } },fadeoutt); } }(i); a[i].innerText=i+1; span.appendChild(a[i]); } div.style.position="absolute"; div.style.height="200px"; div.style.width="200px"; div.appendChild(img); img.style.height="100%"; img.style.width="100%"; span.style.position="absolute"; span.style.right="10px"; span.style.bottom="10px"; div.appendChild(span); return div; } }
调用的html
<html> <head> <title>Untitled Document</title> </head> <body> <script src="kongjian.js"></script> <script> var a=sx.activex.imagefade.init(["1.jpg","1 (1).jpg"],10,10); a.style.height="400px"; a.style.width="400px"; //a.all[1].style.backgroundColor="green"; document.body.appendChild(a); </script> </body> </html>
上面的js函数的第一个参数是你要的图片的地址所组成的数组,第二个参数是图片淡出的timer,第三个参数是淡入的timer.
这段js的关键是a[i].onclick这段代码,注意这里套用了两个setintertval,并用了闭包,在赋值时要当心了.
有什么疑问的话还请多多交流啊
javascript实现图片切换的幻灯片效果源代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@