“未捕获的TypeError:对象不是函数”javascript中的错误

时间:2014-05-10 19:50:25

标签: javascript

我遇到了一个小问题。我想要显示幻灯片,但图像不会移动。当我在控制台中检查它时,我收到错误

  

未捕获的TypeError:对象不是函数

有人可以帮帮我吗?

这是我的javascript代码:

        var step=1;
 var images = [
"5c.jpg",
"5s.jpg",
"a65.jpg"

];

var slideshow = document.getElementById(' slideshow');

 function slide(){   
    slideshow.src = images[step];
    if(step<3){
        step++;
    }
    else
        step=1;
    setTimeout("slide()",2500); 
 }

和我的html文件:

<html>
    <body>
        <img src="C:\Users\M.OAN\Desktop\Pics\Slideshow\5c.jpg" alt="images" name="slide" id="slideshow" onload="slide();"/>     
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

您可以使用图像路径制作数组,然后通过它进行迭代:

HTML:

<img id="slideshow" src="http://placekitten.com/50/50" alt="images" name="slide"/>

JS:

var images = [
    "http://placekitten.com/100/100",
    "http://placekitten.com/100/50",
    "http://placekitten.com/50/100"
];

// get image element
var slideshow = document.getElementById('slideshow');

// in arrays index starts from 0
var step = 0;

setInterval(function(){

    slideshow.src = images[step];

    if( step < images.length-1 ){
        step++;
    } else {
        step = 0;
    }    

}, 2500 );

Demo fiddle

顺便说一下,我建议您使用相对路径而不是绝对路径,因为在尝试部署站点时可能会遇到问题:

"Pics/Slideshow/5c.jpg"

而不是

"C:/Users/M.OAN/Desktop/Pics/Slideshow/5c.jpg"

答案 1 :(得分:0)

从摆弄一下,原始错误的来源是标签的名称和功能是相同的。