javascript循环图像幻灯片

标签 javascript css arrays loops

var imag = document.getElementById('contentimage');
            var imagarr = ["images/contimgtwo.jpg","images/contimg.jpg"]
            //var convertimg = imagarr[i].toString();
            var runtext = function(){
                for (i=0;i<imagarr.length;i++){

                imag.src=imagarr[i];
                }
            }
      setTimeout(runtext,5000);

CSS:

   #contentimage { 
    display:block; 
    top:1600px;
    width:500px; 
    height:400px; 
    position:absolute;
} 

    #contentimage:hover { 
        opacity:0.5; 
        cursor:crosshair;
    }

我正在尝试使用 for 循环制作图像幻灯片,想法是它将提供 .src 路径和数组中的图像路径,但问题是 .src=""方法要求您""所以我不能调用数组,所以它找不到图像,有什么办法解决这个问题吗?

最佳答案

您不应该在 runtext 函数中循环整个数组。这样做你实际上只应用了数组的最后一个值,并且总是显示最后一个图像。这是对您的脚本的修改,可能有效:

var imag = document.getElementById('contentimage');
var imagarr = ["images/contimgtwo.jpg", "images/contimg.jpg"];
var index = 0, interval;
var runtext = function(){
    imag.src = imagarr[index];
    if(index < imagarr.length-1) {
        index += 1;
    } else {
        index = 0;
    }
    interval = setTimeout(runtext, 5000);
}
var stopText = function() {
    clearTimeout(interval);
}
interval = setTimeout(runtext, 5000);

我添加了一个停止幻灯片放映的功能。您仍然会遍历数组的所有元素,但索引会在每次 runtext 调用时递增。

关于javascript循环图像幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172316/

相关文章:

javascript - 将 d3 力图的线放在前景中

php - 使用 PHP 表在行中显示列标题值

arrays - 以循环方式移动序列的最佳实践

javascript - Vue - 观察 this.$el.clientWidth 的变化

javascript - 使用 jQuery 按第一个日期列对 html 表行进行排序

javascript - 将 javascript 字符串设置为从 Django 变量传播的值时如何转义引号?

css - IE7 和 8 忽略设置为标题元素的最大宽度

javascript - 需要显示有关手机的验证错误消息

javascript - 在javascript中用另一个对象过滤对象

java - 返回二维数组