JS幻灯图片效果

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>幻灯图片切换</title>

<script>


var n=0;

说明:默认系统对function不执行,除非触发了一个事件.因此以下function不执行,找到不是function的语句先

 

function Mea(value){
 n=value;
 plays(value);
 }

4.Mea(value)也就相当于Mea(1),value=1,然后 plays(value);也就是 plays(1);找出plays()

4.Mea(value)也就相当于Mea(2),value=2,然后 plays(value);也就是 plays(2);找出plays()
function plays(value)
{
  with (fc)
  {
   filters[0].Apply();

   以上的fc是外部div设的ID,它的意思是调用外部的div样式


   for(i=0;i<3;i++)
   {
    if(i==value)
       children[i].style.display="block"
    else
       children[i].style.display="none";
   }
5.这里是当i=0,i<3,也就是0<3成立,执行以下操作,if(i==value),相当于0==1,因为value=1,不成立,执行else里面的内容,children[i]相当于children[0],第0张"none"隐藏;又回到i++,此时i=1,i<3,也就是1<3成立,执行以下操作,if(i==value),相当于1==1,成立,执行children[i].style.display="block",第1张显示;又回到i++,此时i=2,i<3,也就是2<3成立,执行以下操作,if(i==value),相当于2==1,因为value=1,不成立,执行else里面的内容,children[i]相当于children[2],第2张"none"隐藏;因此for循环语句最终显示的是第1张,第0张和第2张隐藏.要声明的是程序是从0开始算起..0,1,2…

 

1.好了,前面setAuto(){autoStart=setInterval("auto(n)", 3000)}已经到了三妙时间了,它又要重新走一遍,请看以下setAuto蓝色字说明;

 

5.以上找到了plays,这里当i=0,i<3,也就是0<3成立,执行以下操作,if(i==value),相当于0==2,因为value=2,不成立,执行else里面的内容,children[i]相当于children[0],第0张"none"隐藏;又回到i++,此时i=1,i<3,也就是1<3成立,执行以下操作,if(i==value),相当于1==2,不成立,执行else里面的内容children[i].style.display="none"; 又回到i++,此时i=2,i<3,也就是2<3成立,执行以下操作,if(i==value),相当于2==2,成立,执行children[i].style.display="block"
,children[i]相当于children[2],第2张"block"显示;因此for循环语句最终显示的是第2张,第0张和第1张隐藏.要声明的是程序是从0开始算起..0,1,2…效果出来了,三妙前显示的是第1张,现在三妙后显示第2张了.再回去执行一次.最终显示又是第0张的,道理一样.

   filters[0].play();
  }

 
}

function clearAuto(){clearInterval(autoStart)}
function setAuto(){autoStart=setInterval("auto(n)", 3000)}

2.找到setAuto后,setInterval这个函数的意思是设置每隔三妙执行一次auto(n),现在要找到auto(n),相当于auto(0),以上说明了,n=0,找出auto()

 

2.这里还是让我们找出auto(n),因为前一圈走走的时候,n=1

function auto(){
     n++;  //n=n+1;
     if(n>2)
         {
          n=0;
          }
     Mea(n);
}
3.这里n++相当于n+1,n=0+1=1,if(n>2),也就是if(1>2)这是不成立的,所以执行以下的Mea(n);
相当于Mea(1);找出Mea()


 3.这里n++相当于n+1,n=1+1=2,if(n>2),也就是if(2>2)这是不成立的,所以执行以下的Mea(n);
相当于Mea(2);找出Mea

 

setAuto();

1.就这句没有function,起先执行,而这句一定要放在function调用setAuto下面,不然它没办法执行,程序都是从上读到下,放在最上面它会找不到程序的,我们现在就要找到以上的setAuto()

</script>


</head>

<body>
      <div id="fc" style="width:310px;height:210px;filter:progid:DXImageTransform.Microsoft.Fade ( duration=0.5,overlap=1.0 );">
     <div style="display:block;">
     <img src="http://img1.cache.netease.com/2008/2008/8/18/200808181411393cabe.jpg" width="310" height="210" border="0"
     onMouseOver="clearAuto();" onMouseOut="setAuto()" /></div>
 
     <div style="display:none;">
     <img src="http://img1.cache.netease.com/photo/0074/2008-08-18/4JKOQVJC05MV0074.jpg" width="310" height="210" border="0"
     onMouseOver="clearAuto();" onMouseOut="setAuto()" /></div>
     
     <div style="display:none;">
     <img src="http://cimg2.163.com/digi/img08/2008digiolympic/ld.jpg" width="310" height="210" border="0"
     onMouseOver="clearAuto();" onMouseOut="setAuto()" /></div>
    </div>
 
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值