Ich versuche, meinen eigenen Bildschieberegler mit einem Intervall von 4000 Millisekunden zur automatischen Wiedergabe zu bringen. Ich habe versucht, setTimeout
zu verwenden, aber ich kann nicht scheinen, es zur Arbeit zu bringen. Ich würde es begrüßen, wenn mir jemand helfen könnte. Hier ist Beispiel des Schiebers:Bildregler für automatische Wiedergabe abrufen
http://www.matthewruddy.com/slider-intervalissue/
Irgendwelche Ideen, wie ich es die automatische Wiedergabe bekommen?
Hier ist der jQuery-Code:
$(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'})
}
};
});
Danke, Matthew
Vielen Dank! Deine Methode funktioniert perfekt, aber ich verstehe sie immer noch nicht (Ich mag es Dinge zu verstehen, egal ob sie funktionieren oder nicht). Warum müssen Sie die Zeile zweimal schreiben? Warum nicht die erste Zeile; > if (Autoplay) {setTimeout (function() {nextimage (true);}, 4000); } Holen Sie das Autoplaying los? –
Diese Zeile wird die Funktion nur alle 4 Sekunden nach dem ersten Aufruf beibehalten (vorausgesetzt, sie wird mit autoplay = true aufgerufen). Sie benötigen zunächst etwas, um die Schleife zu initiieren. Stellen Sie es sich vor, als würden Sie einen Slinky über die Kante einer Treppe schieben. Es wird weitergehen, sobald Sie es in Bewegung setzen, aber Sie müssen es einen ersten Stoß geben, um es zu starten. – Ender
Ok ich verstehe jetzt! Tausend Dank! –