幻灯片无法返回第一张幻灯片

时间:2015-10-21 17:10:44

标签: javascript jquery timer slideshow slide

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

我无法理解为什么它没有回到第一张幻灯片。

<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>

2 个答案:

答案 0 :(得分:0)

为什么会回到第一张幻灯片?您没有删除.boxslideshow .wrap元素,以便长度保持不变。您需要更改第一个if语句,以便它显示

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

答案 1 :(得分:0)

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

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

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