Foros del Web » Programando para Internet » Javascript »

Hacer Spinner??

Estas en el tema de Hacer Spinner?? en el foro de Javascript en Foros del Web. Hola comunidad,alguien me puede decir como hacer un Spinner,si se puede. salu2s yosvany...
  #1 (permalink)  
Antiguo 24/09/2007, 12:53
 
Fecha de Ingreso: agosto-2006
Ubicación: Cuba
Mensajes: 23
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta Hacer Spinner??

Hola comunidad,alguien me puede decir como hacer un Spinner,si se puede.

salu2s
yosvany
  #2 (permalink)  
Antiguo 24/09/2007, 17:39
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Hacer Spinner??

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 1aumentadoracelerador1acelerador2;
function 
aumenta() {
    
acelerador1 setTimeout(" incremento += 5 "2000);
    
acelerador2 setTimeout(" incremento += 15"5000);
    
aumentador setInterval( function() {
        var 
laCaja document.getElementById("caja");
        var 
valorActual parseInt(laCaja.value10);
        
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
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.