猿问

js加载函数问题

var i = 1;

window.onload = function () {

//获取img对象

                var imgObj = document.getElementById("imgObj");

//设置定时器

var timer = setInterval("start()",3000);

}

/*实现图片轮播的方法*/

function start() {

imgObj.src = "img/"+i+".jpg";

i++;

if (i==6) {

i = 1;

}

}

start() 为什么放在window.onload函数外面运行才行?

qq_天蝎的尾巴卍_0
浏览 1349回答 3
3回答

qq_青枣工作室_0

你的var timer = setInterval("start()",3000);里面"start()"是字符串,表示执行一段在全局运行的代码,所以要在onload函数外面定义start(){}。改为:var timer = setInterval(start, 3000); 里面的start直接就是函数名,这样就可以把start(){}放在onload里面了。

小草1434

setInterval("start()",3000); setInterval函数里面的两个变量分别是字符串和数字类型,而function函数的返回值不是字符串(没有renturn ""+i),所以会报错所以在js中如果报错就果断运行不了。

慕盖茨9219292

赞同楼上
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答