Tengo un control deslizante simple con 3 diapositivas. Ahora todo funciona, pero si presiono más de 3 veces en una dirección, obtengo números "falsos". Matemáticamente tienen razón, pero estoy apuntando a este escenario:
Si hago clic 4 veces en el botón de la diapositiva anterior, el contador de mis números debería volver a ser 3, no -1. ¿Alguna forma de archivar esto?
$( document ).ready(function() { var current = $('.slider_number').data("hasso"); var total = $('.slider_number').data("total") $('.slider_next').click(function(){ ++current; console.log(current) $(".slider_number").text(current) }); $('.slider_prev').click(function(){ --current; console.log(current) } ); });Use la fórmula de índice circular (i % n + n) % n donde n es la longitud de la matriz (4 en su caso).
usar:
current = (current+1 % total + total) % total;avanzar;
y
current = (current-1 % total + total) % total;para moverse hacia atrás.
current siempre será un índice válido.