急~~~javascript setInterval()错误:缺少对象
发布网友
发布时间:2022-05-24 17:35
我来回答
共1个回答
热心网友
时间:2023-10-23 10:37
你这段代码的问题比较多,我根据你的意思写了一段代码,你看看,比较一下就知道自己的哪里错了:
<html>
<head>
<title>df</title>
<script language="javascript" >
var flag=0;
var shu = 1;
var ke = new Array(3);
for (var i=0; i<3 ; i++){
ke[i]=new Image();
ke[i].src="ke"+ i +".jpg";
}
function chenke(){
if (flag==1) {
++shu;
if (shu == 3)
shu = 0;
document.tupian.src=ke[shu].src;
}
}
function begin() {
flag=1;
}
function end() {
flag=0;
}
</script>
</head>
<body onload="setInterval('chenke()',1000);">
<p><img src="ke0.jpg" width="400" height="419" name="tupian"></p>
<form>
<input type="button" value="运行" name="" onClick="begin()">
<input type="button" value="停止" name="" onClick="end()">
</form>
</body>
</html>
-----------------------------------------------------------
对于你这段代码的分析呢,有一下几点:
1.
你那个start变量的作用是干什么的?没太看懂。那句start=setInterval('chenke()',1000);也不明白你这么写是想实现什么?
2.
函数外的那个循环里,“var ke[i]=new Image()”应该写成“ke[i]=new Image()”,你那么写是在循环体内新定义了一个变量,并没有给真正的ke[]数组赋值。
3.
chenke()函数中的循环会造成数据越界,当shu的值为2的时候,再++shu后值为3,这时的document.tupian.src=ke[shu].src就越界了