幻灯片无法 return 放映第一张幻灯片

Slideshow can't return to first slide

在这个例子中我有 3 张幻灯片。当我的最后一张幻灯片完成显示时,它不会 return 到第一张幻灯片。

我不明白为什么它没有 return 第一张幻灯片。

<script type="text/javascript">


        $(document).ready(function() {
             showSlide(0); // show first slide when DOM loaded
        });   


        function showSlide(x) { // x = the number of slide

           $('.boxslideshow .wrap').hide(); // hide all slides
           $('.boxslideshow .wrap').eq(x).css('display', 'block'); // show a slide


         setTimeout(function(){ 

          var slides = $('.boxslideshow .wrap').length; // total number of slides                       

            if (slides == 0) { // if last slide return to first slide
                 showSlide(0);
            } else {
                 showSlide(x+1); // call function showSlide to display all slides
            }

         }, 2000); // timer             
      }


</script>

为什么 return 到第一张幻灯片?您没有删除 .boxslideshow .wrap 元素,因此长度保持不变。您需要更改第一个 if 语句,使其显示

if (slides === x) { showSlide(0); }

您的重启条件错误。它只检查幻灯片的数量,但该值不会改变。

将幻灯片的数量与变量进行比较x:

if (x == slides - 1) { // if last slide return to first slide