javascript实现幻灯片效果

网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享

废话少说,看代码

  1. sx.activex.imagefade={
  2.     init:function(imga,fadeint,fadeoutt){
  3.         var ti=new Array();
  4.         for(var i=0;i<imga.length;i++){
  5.             ti[i]=new Image();
  6.             ti[i].src=imga[i]
  7.             }
  8.             var div=document.createElement("div");
  9.             var img=document.createElement("img");
  10.             img.src=ti[0].src;
  11.             var span=document.createElement("span")
  12.             span.style.backgroundColor="yellow";
  13.             var a=[];
  14.             for(var i=0;i<imga.length;i++){
  15.                 a[i]=document.createElement("a")
  16.                 a[i].style.backgroundColor="red";
  17.                 a[i].style.width="10px";
  18.                 a[i].style.margin="2px";
  19.                 a[i].href="javascript:void(0)";
  20.                 a[i].οnclick=function(r){
  21.                     return function(){
  22.                         var t=100;
  23.                         var t1=0;
  24.                     var h=window.setInterval(function(){
  25.                         if(t>=0){
  26.                             img.style.filter="alpha(opacity="+t+");";
  27.                             t=t-2;}
  28.                     else{
  29.                             window.clearInterval(h);
  30.                             img.src=ti[r].src;
  31.                             var h1=window.setInterval(function(){
  32.                         if(t1<=100){
  33.                             img.style.filter="alpha(opacity="+t1+");";
  34.                             t1=t1+2;}
  35.                     else{
  36.                             window.clearInterval(h1);
  37.                             }
  38.                     },fadeint);
  39.                             }
  40.                     },fadeoutt);
  41.                     
  42.                     }
  43.                 }(i);
  44.                 a[i].innerText=i+1;
  45.                 span.appendChild(a[i]);
  46.             }
  47.             
  48.             div.style.position="absolute";
  49.             div.style.height="200px";
  50.             div.style.width="200px";
  51.             div.appendChild(img);
  52.             img.style.height="100%";
  53.             img.style.width="100%";
  54.             
  55.             span.style.position="absolute";
  56.             span.style.right="10px";
  57.             span.style.bottom="10px";
  58.             div.appendChild(span);
  59.             return div;
  60.     }
  61. }

调用的html

  1. <html>
  2.     <head>
  3.         <title>Untitled Document</title>
  4.     </head>
  5.     <body>
  6.         
  7.         <script src="kongjian.js"></script>
  8.         
  9.         <script>
  10.             var a=sx.activex.imagefade.init(["1.jpg","1 (1).jpg"],10,10);
  11.             a.style.height="400px";
  12.             a.style.width="400px";
  13.             //a.all[1].style.backgroundColor="green";
  14.             document.body.appendChild(a);
  15.         </script>
  16.     </body>
  17. </html>

上面的js函数的第一个参数是你要的图片的地址所组成的数组,第二个参数是图片淡出的timer,第三个参数是淡入的timer.

这段js的关键是a[i].onclick这段代码,注意这里套用了两个setintertval,并用了闭包,在赋值时要当心了.

有什么疑问的话还请多多交流啊

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值