Я пытаюсь получить свой собственный слайдер изображения для автоматического воспроизведения с интервалом в 4000 миллисекунд. Я пробовал использовать setTimeout
, но я не могу заставить его работать. Буду признателен, если кто-то сможет мне помочь. Вот пример слайдера:Получить слайдер изображения для автоматического воспроизведения
http://www.matthewruddy.com/slider-intervalissue/
Любые идеи, как я могу получить его для автоматического воспроизведения?
Вот код JQuery:
$(document).ready(function(){
var images = $('.slider li');
var slides = images.length;
var sliderwidth = 500;
var currentimage = 0;
var containerwidth = sliderwidth*slides;
var autoplay = 4000;
$('.slider').css('width', containerwidth);
$('#next').bind('click',nextimage);
function nextimage(){
if(currentimage<slides-1){
currentimage++;
$('.slider').animate({left:-sliderwidth*(currentimage)},{duration:800,easing:'easeInOutCubic'});
}
else{
currentimage = 0;
$('.slider').animate({left:0},{duration:800,easing:'easeInOutCubic'})
}
};
});
Спасибо, Matthew
Спасибо! Ваш метод работает отлично, но я все еще не понимаю его (мне нравится понимать вещи независимо от того, работают они или нет). Почему вы должны написать строку дважды? Почему не первая строка; > if (автовоспроизведение) {setTimeout (function() {nextimage (true);}, 4000); } Получите автовоспроизведение? –
Эта линия будет удерживать функцию только через 4 секунды после ее первого вызова (при условии, что она вызывается с автовоспроизведением = true). Вам нужно что-то инициировать цикл в первую очередь. Подумайте об этом, как о том, чтобы пробраться по краю лестницы. Это будет продолжаться, как только вы его начнете, но вы должны дать ему начальный толчок, чтобы начать. – Ender
Хорошо, теперь я понимаю! Бесконечно благодарен! –