首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setTimeout不忆函数javascript

setTimeout不忆函数javascript
EN

Stack Overflow用户
提问于 2014-01-30 12:07:19
回答 1查看 215关注 0票数 0

我有一个图像列表,我想以幻灯片的形式迭代。我已经设置了一个基本函数来显示一个图像,然后使用setTimeout来回忆这个函数并转移到下一个图像。

函数只被调用一次,并且只显示一个图像。我已经检查了setTimeout的语法,我确信它是正确的。我的代码中是否有导致这种情况的其他地方的错误?

代码语言:javascript
复制
<img id='screenImg' src='' height='300' width='450'/>

function slideshow() {

var screenImg = document.getElementById('screenImg');
var gradImg = ['images/grad1.jpg', 'images/grad2.jpg', 'images/grad3.jpg',   'images/grad4.jpg', 'images/grad5.jpg', 'images/grad6.jpg',];
var gradAmt = gradImg.length-1;
var i = 0;

if( i > gradAmt ) {
  i = 0;
}
screenImg.src = gradImg[i];
i++;
var timer = setTimeout(slideshow, 1000);
}
slideshow();        
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-30 12:08:43

每次调用i时都会将slideshow重置为0

移动var i = 0;,使其位于函数之外。

因为它不再是函数的本地名称,所以考虑给它一个更显式的名称,比如slideshow_index

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21456106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档