【问题标题】:setTimeout not recalling function javascriptsetTimeout 不调用函数 javascript
【发布时间】:2014-01-30 12:07:19
【问题描述】:

我有一个图像列表,我想以幻灯片的形式遍历这些图像。我设置了一个显示图像的基本功能,然后使用setTimeout 调用该功能并移至下一张图像。

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

<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();        

【问题讨论】:

标签: javascript function settimeout


【解决方案1】:

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

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


由于它不再是函数的本地名称,请考虑给它一个更明确的名称,例如slideshow_index

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多