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函数外面运行才行?
3 回答
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
你的
var timer = setInterval("start()",3000);
里面"start()"是字符串,表示执行一段在全局运行的代码,所以要在onload函数外面定义start(){}。
改为:
var timer = setInterval(start, 3000);
里面的start直接就是函数名,这样就可以把start(){}放在onload里面了。
小草1434
TA贡献106条经验 获得超23个赞
setInterval("start()",3000);
setInterval函数里面的两个变量分别是字符串和数字类型,而function函数的返回值不是字符串(没有renturn ""+i),所以会报错
所以在js中如果报错就果断运行不了。
添加回答
举报
0/150
提交
取消