Foros del Web » Programando para Internet » Javascript »

¿window.setTimeout dentro de un while?

Estas en el tema de ¿window.setTimeout dentro de un while? en el foro de Javascript en Foros del Web. ¡Hola a todos! Tengo un problemilla con un código: Quiero hacer que vayan apareciendo los valores de una variable a la que se le va ...
  #1 (permalink)  
Antiguo 05/05/2009, 10:33
Avatar de Crazy_Xavy  
Fecha de Ingreso: julio-2005
Mensajes: 24
Antigüedad: 18 años, 9 meses
Puntos: 0
¿window.setTimeout dentro de un while?

¡Hola a todos!

Tengo un problemilla con un código: Quiero hacer que vayan apareciendo los valores de una variable a la que se le va restando otra aleatoria con un retraso de x milisegundos. Tengo algo así:

Código PHP:
<script language="Javascript">
var 
2
var Math.random();

while (
a>0)
    {
    
document.write("a vale " ".<br>");
    
a-b;
    }
</script> 
Y no consigo hacer que se vaya mostrando poco a poco en lugar de todo de golpe. He probado con window.setTimeout para el document.write, pero me abre una ventana nueva y no es lo que necesito. El inner.HTML creo que no lo puedo utilizar, porque no sé de antemano cuántas veces va a ser restada a antes de llegar a 0 (ni, por tanto, las <div> que debo crear para que se vayan editando)

Así que vengo en busca de vuestra ayuda, a ver si me podéis encaminar en este problemilla...

Un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 05/05/2009, 11:48
Avatar de alor86  
Fecha de Ingreso: abril-2009
Mensajes: 110
Antigüedad: 15 años
Puntos: 5
Respuesta: ¿window.setTimeout dentro de un while?

<head>

<meta name="author" content="alor86" />
<script type="text/javaScript">
var a=2;
var intervalo;

function restar(){
intervalo=setInterval(res,2000);
}
function res(){
if(a>=0){
var r = document.getElementById('r');
a-=Math.random();
r.innerHTML+="valor de a es==>"+a+"<br/>";
}
else{
clearInterval(intervalo);
}
}
</script>
<title>resta</title>
</head>

<body onload="restar();">
<div id="r">

</div>


</body>
</html>
prueba asi
  #3 (permalink)  
Antiguo 05/05/2009, 12:32
Avatar de Crazy_Xavy  
Fecha de Ingreso: julio-2005
Mensajes: 24
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: ¿window.setTimeout dentro de un while?

Como la seda... Ya lo he adaptado al código completo. Sabía que por el innerHTML iban los tiros, pero no sabía cómo añadir y no editar el valor.

Muchísimas gracias alor86 :)
  #4 (permalink)  
Antiguo 05/05/2009, 13:07
Avatar de alor86  
Fecha de Ingreso: abril-2009
Mensajes: 110
Antigüedad: 15 años
Puntos: 5
Respuesta: ¿window.setTimeout dentro de un while?

no queda mal darme algo de putos.
  #5 (permalink)  
Antiguo 05/05/2009, 15:52
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: ¿window.setTimeout dentro de un while?

Cita:
no queda mal darme algo de putos.
Lo único que vas a conseguir haciendo esos comentarios es que alguien te quite puntos.
__________________
twitter: @imbuzu
  #6 (permalink)  
Antiguo 05/05/2009, 16:28
Avatar de alor86  
Fecha de Ingreso: abril-2009
Mensajes: 110
Antigüedad: 15 años
Puntos: 5
Respuesta: ¿window.setTimeout dentro de un while?

ni siquiera tengo puntos, pero gracias por el comentario no lo hice de mala fe
  #7 (permalink)  
Antiguo 05/05/2009, 19:05
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: ¿window.setTimeout dentro de un while?

No pues, si no digo que lo hayas hecho de mala fe. Si eso hubiera pensado hubiera sido el primero en calificarte negativo. Solo es un "aviso" amistoso para que vallas aprendiendo como se mueve el foro. Los puntos no son realmente importantes. Lo que importa es la ayuda que das y la que recibes y sobre todo el soporte que recibes de otros usuarios. Eso es lo que en realidad demuestra la calidad de usuario que eres en FDW. Hay muchos usuarios mejores que yo y que no tienen ninguna estrella. También hay usuario con muchas estrellas que casi deforman el foro, pero al final lo que cuenta para mi, es el aprecio y admiración que tengo hacia ciertos usuarios, y ese no se mide por estrellas.

Saludos.
__________________
twitter: @imbuzu
  #8 (permalink)  
Antiguo 05/05/2009, 19:38
Avatar de alor86  
Fecha de Ingreso: abril-2009
Mensajes: 110
Antigüedad: 15 años
Puntos: 5
Respuesta: ¿window.setTimeout dentro de un while?

ok gracias
  #9 (permalink)  
Antiguo 06/05/2009, 08:08
Avatar de Crazy_Xavy  
Fecha de Ingreso: julio-2005
Mensajes: 24
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: ¿window.setTimeout dentro de un while?

Es la primera vez que escucho hablar de puntos en foros de este tipo, no sabía nada, lo siento. Ya te he dado Karma :)
  #10 (permalink)  
Antiguo 06/05/2009, 08:22
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ¿window.setTimeout dentro de un while?

jajjaa, aprendieron la leccion del dia? no le den karma a buzu xDDD

buzu: buena teoria ;)
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
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 13:49.