Javascript定时幻灯片至少没有工作

时间:2013-03-01 21:14:24

标签: javascript slideshow

令人难过。一些背景,我是Javascript的新手,这是我生命中的第一个应用程序,并且自从在两天内翻了半个Javascript教科书。它是一个外部文件,链接到我的HTML末尾。如果需要更多,请询问,我会尽力提供。

var slide = document.getElementById("slide");

setInterval(slideshow.changeSrc, 5000);

var slideshow = {
    changeSrc : function() {    
        if(slide.src === "./images/s1.png"){
            slide.src = "./images/s2.png";
        }
        else if(slide.src === "./images/s2.png"){
            slide.src = "./images/s3.png";
        }
        else{
            slide.src = "./images/s1.png";
        }
    }
}
slide.addEventListener("load", slideshow.changeSrc, false);

2 个答案:

答案 0 :(得分:0)

我认为这是你想要实现的目标:

var slide = document.getElementById("slide");
var slideshow = {
    changeSrc : function() {    
        setTimeout(function() {
            slide.src = 'http://lorempixel.com/100/100';
        }, 1000);
    }
}
slide.addEventListener("load", slideshow.changeSrc, false);

http://jsfiddle.net/Bs4gM/

答案 1 :(得分:0)

src属性是浏览器解析您提供的URL的结果。不要用它来进行比较。此外,只有窗口和某些元素(如图像或脚本)具有load个事件。试试这个:

相反,为什么不跟踪索引?

(function() {
  var id = 0, slide = document.getElementById('slide');
  setInterval(function() {
    id++;
    slide.src = "images/s"+id+".png";
    id %= 3;
  },5000);
})();