Добавить задержку в слайдшоу изображений Jquery
У меня есть слайд-шоу изображений с использованием Jquery. Я хочу, чтобы он менялся автоматически каждые 5 секунд или в другое время. И в моем слайд-шоу есть кнопка "Далее", которая используется для создания следующего слайд-шоу.
Но вот моя проблема.
Если я запускаю первый или первый раз, это не изменится на следующем рисунке. Но во втором, третьем,.. клик это может меняться непрерывно.
2. Как добавить автоматическое изменение изображений, в пользовательском таймауте. Потому что я пытаюсь добавить setTimeout() и использую кнопку "Далее", чтобы слайд-шоу очень быстро менялось (мигало).
HTML-файл:
<div class="slider">
Next »
</div>
<div class="subbox1">
<div class="images">
<img src="https://imageshack.us/a/img203/2859/thumb73.jpg" />
<img src="https://imageshack.us/a/img20/4360/thumb72.jpg" />
<img src="https://imageshack.us/a/img855/3400/thumb61h.jpg" />
</div>
</div>
<div class="subbox1">
<div class="images">
<img src="https://imageshack.us/a/img853/3924/thumb71.jpg" />
<img src="https://imageshack.us/a/img845/5805/thumb62m.jpg" />
<img src="https://imageshack.us/scaled/large/163/thumb2nv.jpg" />
</div>
</div>
Файл CSS
.slider {
padding : 10px;
background : #000;
color : #FFF;
width : 100px;
margin-left : 10px;
}
.subbox1{
float : left;
width : 227px;
height: 189px;
position : relative;
margin : 10px;
}
.images img {
position : absolute;
top : 0;
}
JS File
function anim(selector) {
$(".images img", selector).first().appendTo($('.images', selector)).fadeOut(500);
$(".images img", selector).first().fadeIn(500);
//Make slideshow blink
setTimeout(function(){anim(selector)}, 5000);
}
$(".slider").click(function() {
$(".subbox1").each(function() {anim(this)});
});
Вот мой РЕЗУЛЬТАТ
1 ответ
Решение
Вы должны использовать setInterval()
метод. Затем создайте переменную i
как счетчик и каждые 500 мс увеличивают значение.
var i = 0, max = 5;
var interval = setInterval(function(){
showSlide(i);
i = 1 >= max ? 0 : ++i;
}, 500);
next_button.onclick = function(){
i += 1;
showSlide(i);
}
удачи