我能想到的最简单的方法是在最后插入第一张幻灯片的第二个副本,这样你就有了三张幻灯片,然后是第一张的另一个副本,你告诉它不要自动重复。
$(document).ready(function() {
$('.bxslider').bxSlider({
auto: true,
autoControls: true,
pause: 5000,
infiniteLoop: false, // don't auto-repeat
slideMargin: 0
});
});
除此之外,您可以指定一个回调,在第三张幻灯片显示完毕后,您可以停止自动前进,然后告诉它转到第一张幻灯片。
$(document).ready(function() {
var slider = $('.bxslider').bxSlider({
auto: true,
autoControls: true,
pause: 5000,
infiniteLoop: false,
slideMargin: 0,
onSlideNext: function($slideElement, oldIndex, newIndex) {
if (newIndex >= 3) {
slider.stopAuto();
slider.goToSlide(0);
}
}
});
});
如果您只有三张幻灯片(如果您没有加入这一事实会对我们有所帮助),那么当infiniteLoop 关闭时,您可能不会收到onSlideNext 事件。在这种情况下,您可以使用onSlideAfter 方法并在显示第三张幻灯片后触发。
$(document).ready(function() {
var slider = $('.bxslider').bxSlider({
auto: true,
autoControls: true,
pause: 5000,
infiniteLoop: false,
slideMargin: 0,
onSlideAfter: function($slideElement, oldIndex, newIndex) {
if (newIndex >= 2) {
slider.stopAuto();
setTimeout(function() {
slider.goToSlide(0);
}, 5000); // put whatever time here you want the 3rd slide to show
}
}
});
});