【问题标题】:Want to make this slideshow repeat想让这个幻灯片重复播放
【发布时间】:2014-06-15 01:09:54
【问题描述】:

我想问你如何让这个幻灯片中的 5 张图片自动重复。请告诉我我需要在这段代码中更改什么:

function SlideShow(Number) {
    document.ShowSlajdova.src=ImageList[Number].src;
    Number +=1;
    if (Number<ImageList.length) {
        window.setTimeout("SlideShow("+Number+")",2000);    
    }
}
<body>
    <img src="1.jpg" width=400 height="200"name="ShowSlajdova">
</body>

当幻灯片播放到最后一张图片时,它就结束了,我不知道如何让它重复。

【问题讨论】:

  • 请包括问题、您为解决该问题所做的尝试以及您之前发现的任何无效问题,并解释为什么这些问题无效。
  • 当幻灯片播放到最后一张图片时,它就结束了,我不知道如何让它重复。如果你知道怎么做,请帮助我。
  • 您仍然需要包括您尝试解决的问题,但最好将您刚刚提到的问题放在问题本身中。您可能想阅读此页面:stackoverflow.com/help/how-to-ask

标签: javascript html slideshow settimeout repeat


【解决方案1】:
if (Number<ImageList.length) {
    window.setTimeout("SlideShow("+Number+")",2000);    
} else if(Number>Image.List.length) {
    Number = 0;
    SlideShow(Number);
}

一旦到达 ImageList 的末尾,重置计数器并再次运行该函数。

【讨论】:

    【解决方案2】:

    您无需重新运行整个函数。有一种比替代答案更有效的方法。您可以通过将代码更改为如下所示来解决此问题:

    function SlideShow(Number) {
        document.ShowSlajdova.src=ImageList[Number].src;
        Number +=1;
        if (Number<ImageList.length) {
            window.setTimeout("SlideShow("+Number+")",2000);    
        }
        else if(Number>Image.List.length) {
        Number = 0;
        window.setTimeout("SlideShow("+Number+")",2000);
        }
    }
    <body>
        <img src="1.jpg" width=400 height="200"name="ShowSlajdova">
    </body>
    

    【讨论】:

      猜你喜欢
      • 2020-06-28
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      • 2014-05-14
      • 2021-04-14
      相关资源
      最近更新 更多