在 for
循环我正在迭代字符串数组,同时更改 src
图像但是,setTimeout
方法不持有 myfun
3000 毫秒,因此 for 循环只是眨眼间迭代到数组的最后一个字符串。我哪里出错了?
<script>
function myfunction(){
var arr = ["mind.jpg","images.jpg","external.jpg"];
var image = document.getElementById("IMAGE");
for(var i =0;i<arr.length;i++)
{
setTimeout(myfun,3000);
image.src = arr[i];
}
}
function myfun(){
}
</script>
最佳答案
如果你想做幻灯片之类的东西,你需要这样做:
function myfunction() {
var arr = ["mind.jpg","images.jpg","external.jpg"];
var image = document.getElementById("IMAGE");
var i = 0;
function next() {
image.src = arr[i];
if(++i === arr.length) {
i = 0
}
}
setInterval(next, 3000)
}
关于javascript - 遍历数组时出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36606255/