javascript循环图像幻灯片

时间:2013-11-24 07:45:31

标签: 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 =“”方法要求你“”所以我无法调用数组,所以它找不到图像,无论如何都可以找到它?

1 个答案:

答案 0 :(得分:2)

您不应该在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调用时递增。