3图片幻灯片显示javascript代码,有什么问题?

时间:2013-07-18 06:39:04

标签: javascript html function slideshow slide

这是我当前的代码,它不起作用我希望它如何。我想让它在幻灯片放映中用javascript代码循环3张图片。我有文本/ javascript文件和html编写,问题在这里,而不是在其他文件中。

var step=1;
    function slideit()
    {
        document.images.slide.src = eval("image"+step+".src");
        if(step<2)
            step++;

        setTimeout("slideit()",2500);

        else if(step<3)
            step++;

        setTimeout("slideit()",2500);

        else
            step=1;

    }
    slideit();

感谢所有帮助!

4 个答案:

答案 0 :(得分:0)

您的if/else语句不正确。

你需要在if之后和之前的代码周围放置大括号{}

另一种写作方式可能是:

var step = 1;
function slideit()
{
    document.getElementById("imageId").src = eval("image" + step + ".jpg");
    if ( step < 3 ) step++;
    else step = 1;
    setTimeout("slideit()",2500);
}

答案 1 :(得分:0)

而且,如果你想滑动每一个,你应该使用setInterval而不是setTimeout,因为setTimeout将总计超时总和并且只执行一次任务

答案 2 :(得分:0)

这应该对您有所帮助,并且更容易阅读。

var step=1;
function slideit()
{
   document.getElementById("imageId").src = eval("image" + step + ".jpg");
   if(step<3)
       step++;
   else
        step=1;
   setTimeout(slideit, 2500);
}
slideit();

或者如果你想和@ Besatamin一起回答:

var step=1;
function slideit()
{
   document.getElementById("imageId").src = eval("image" + step + ".jpg");
   if(step<3)
       step++;
   else
        step=1;
}
var sliderIntervalId = setInterval(slideit, 2500);

然后你可以通过以下方式停止它:

clearInterval(sliderIntervalId);

答案 3 :(得分:0)

我和一些已经回答的问题有类似的解决方案。请看看。它在我的safari上为我工作。

我有一个图像文件夹,有3张图片即。 1.jpg,2.jpg和3.jpg。您可以使用自己的图像并运行脚本。我觉得它有效。

html代码为<img name="slide" />

var step=1;
function slideit(){
document.images.slide.src = "images/"+step+".jpg";
if(step<3)
    step++;
else
    step=1;

setTimeout("slideit()",1000);   
}
slideit();
相关问题