Estoy intentando que mi propio control deslizante de imagen se reproduzca automáticamente con un intervalo de 4000 milisegundos. Intenté usar setTimeout
pero parece que no puedo hacerlo funcionar. Apreciaría si alguien pudiera ayudarme. Aquí es ejemplo de la corredera:Obtener control deslizante de imagen para reproducir automáticamente
http://www.matthewruddy.com/slider-intervalissue/
Alguna idea de cómo puedo conseguir que la reproducción automática?
Este es el código 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'})
}
};
});
Gracias, Mateo
¡Gracias! Su método funciona perfectamente, sin embargo, todavía no lo entiendo (me gusta entender las cosas independientemente de si funcionan o no). ¿Por qué tiene que escribir la línea dos veces? ¿Por qué no la primera línea? > if (reproducción automática) {setTimeout (function() {nextimage (true);}, 4000); } ¿Funciona la reproducción automática? –
Esa línea solo mantendrá la función en funcionamiento cada 4 segundos después de ser llamada la primera vez (suponiendo que se invoque con autoplay = true). Necesitas algo para iniciar el ciclo en primer lugar. Piense que es como empujar un slinky sobre el borde de una escalera. Seguirá funcionando una vez que lo ponga en marcha, pero debe darle un impulso inicial para que comience. – Ender
Ok lo entiendo ahora! ¡Un millón de gracias! –