jQuery滑块 - 最后一次转换

7 html javascript jquery

我创建了这个滑块(不想使用插件):

function slider(sel, intr, i) {
  var _slider = this;
  this.ind = i;
  this.selector = sel;
  this.slide = [];
  this.slide_active = 0;
  this.amount;
  this.selector.children().each(function (i) {
    _slider.slide[i] = $(this);
    $(this).hide();
  })
  this.run();
}
slider.prototype.run = function () {
  var _s = this;
  this.slide[this.slide_active].show();
  setTimeout(function () {
    _s.slide[_s.slide_active].hide()
    _s.slide_active++;
    _s.run();
  }, interval);
}
var slides = [];
var interval = 1000
$('.slider').each(function (i) {
  slides[i] = new slider($(this), interval, i);
})
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不知道如何在最后一张幻灯片(图片)之后得到它,它又回到了第一张幻灯片.现在,它只是.hide和.show直到结束,如果没有图像,它就不会重新开始.

有人可以帮我提出一个代码建议,让它采取滑块的.length(上面的图像数量),如果它是最后一张幻灯片(图像),然后回到第一张幻灯片(图像)..像一个循环.

编辑:滑块标记

    <div class="small_box top_right slider">
        <img class="fittobox" src="img/home10.jpg" alt="home10" width="854" height="592">
        <img class="fittobox" src="img/home3.jpg" alt="home3" width="435" height="392">
        <img class="fittobox" src="img/home4.jpg" alt="home4" width="435" height="392">
    </div>
Run Code Online (Sandbox Code Playgroud)

Bar*_*ney 1

在这里为您创建了一个固定版本

\n\n

最简单的方法是在您当前拥有的位置运行一个简单的数学运算

\n\n
_s.slide_active++;\n
Run Code Online (Sandbox Code Playgroud)\n\n

相反,我得到_s.slide_active,添加1,然后通过模数 ( ) 运行%到总长度 \xe2\x80\x94 ,得到余数:

\n\n
_s.slide_active = (_s.slide_active + 1) % _s.slide.length;\n
Run Code Online (Sandbox Code Playgroud)\n