幻灯片无法 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
在这个例子中我有 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