<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>