Hola
yosvany:
Buscando un poco creo que por spinner te refieres a
esto.
Antes de ponerme a reinventar la rueda hay que buscar un poquito:
Una vuelta por Google me ha dado una respuesta que me ha gustado bastante:
http://www.codingforums.com/showthre...threadid=34958
Aunque no he mirado el código por lo menos funciona, seguramente que hay que hacerle unos retoques.
Lo que más me gusta es que manteniendo pulsado el botón también funciona, aunque yo le habría puesto aceleración (es decir, que al principio vaya lento creciendo y que cuanto más tiempo estemos pulsando, más rápido crezca).
Te pongo un ejemplo de acelerador que he hecho para que te hagas una idea:
Código PHP:
var incremento = 1, aumentador, acelerador1, acelerador2;
function aumenta() {
acelerador1 = setTimeout(" incremento += 5 ", 2000);
acelerador2 = setTimeout(" incremento += 15", 5000);
aumentador = setInterval( function() {
var laCaja = document.getElementById("caja");
var valorActual = parseInt(laCaja.value, 10);
laCaja.value = valorActual + incremento;
} , 50);
var btn = document.getElementById("boton");
btn.onmouseup = btn.onmouseout = function() {
clearInterval(aumentador);
clearTimeout(acelerador1);
clearTimeout(acelerador2);
incremento = 1;
}
}
</script>
<input type="text" id="caja" value="0" />
<button id="boton" onmousedown="aumenta()">Aumenta</button>
Al hacer click va aumentando uno por uno, pero al mantenerlo pulsado se incrementa rápidamente. Al mantenerlo pulsado durante 2 segundos en vez de aumentar 1 por 1 pasa a aumentar de 6 en 6. Luego al de 3 segundos más de mantener pasa a aumentar de 21 en 21.
Es interesante porque si queremos llegar al 1000 no tendremos que esperar 50 segundos (50ms*1000 iteraciones = 50000ms), sino escasos 6 segundos y medio. Llegar a 5000 no nos parecerá duro, pero sin aceleradores es imposible esperar 4'16'' manteniendo apretado el botón.
Bueno, para valores altos, pues incluir aceleradores o un acelerador común:
Código PHP:
acelerador = setInterval(" incremento += 1 ", 500);
Bueno, me ha gustado la idea del acelerador como ves.
Un saludo