把这段JavaScript代码给我做个注释,用中文注释!
var theA=new Array(3);
for(i=0,n=theA.length;i<n;i++)
{theA[i]=new Image();这两行是建立图片数组吗?是不是固定写法?
theA[i].src=i+'.jpg';}
var currentImage=1;
var run=true;
var speed=150;
function changeSize1()
{
if(!document.images)
return;这四句去掉之后,代码照样运行,为什么?加上有什么好处?
if(!run) document.images是什么意思?举例说明一下:
return;
document.getElementById("myImage").src=theA[currentImage].src;
document.getElementById("myImage").height=300;
document.getElementById("myImage").width=500;
currentImage++;
if(currentImage>theA.length-1)
currentImage=0;
setTimeout('changeSize1()',speed);
}
以上两点疑惑之处希望高手给我详细说明一下,
var theA=new Array(3);//定义一维数组
for(i=0,n=theA.length;i<n;i++)//遍历数组
{
theA[i]=new Image();//把数组元素定义为图片对象
theA[i].src=i+'.jpg';//给图片地址赋值
}
var currentImage=1;
var run=true;
var speed=150;
function changeSize1()
{
if(!document.images)//document.images返回的是img标签的数组,至于(!document.images)无论怎样它的返回值都是false。如果这是你完整的代码,那么可以删掉。
return;//你可以在上面写一个<img id="xx" />在这里弹一下alert(document.images[0].id)试一下它的功能。也可以直接alert(document.images)返回的是一个对象object
if(!run)//至于这一句,个人认为没有任何意义。因为run是自己定义的变量(var run=true;),但在这里又否(!)run,不管怎样!true的值始终为false,从而不执行下面的return.直接执行其后的document代码
return;
document.getElementById("myImage").src=theA[currentImage].src;
document.getElementById("myImage").height=300;
document.getElementById("myImage").width=500;
currentImage++;
if(currentImage>theA.length-1)
currentImage=0;
setTimeout('changeSize1()',speed);
}
第一个是 是建立一个 图片数组
第二个是是判断条件更加周密 不容易报错
document是一个对象 是指浏览器中间的部分 详情可以去网上搜
document.images 获取浏览器内的图片