Foros del Web » Programando para Internet » Javascript »

Detener en un tiempo un numero que avanza

Estas en el tema de Detener en un tiempo un numero que avanza en el foro de Javascript en Foros del Web. Hola, tengo un script en javascript que hace que vayan "subiendo" numeros desde el 200 al 2500 sin parar hasta que llega a 2500. Pues ...
  #1 (permalink)  
Antiguo 01/02/2005, 10:24
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Detener en un tiempo un numero que avanza

Hola, tengo un script en javascript que hace que vayan "subiendo" numeros desde el 200 al 2500 sin parar hasta que llega a 2500. Pues bien, me gustaria saber como podria darle una duracion para que cuando pase un minuto se detenga completamente en el numero por el cual iba en ese momento.
Este es el codigo:
Código PHP:
<script>
var 
countdownfrom=200


var currentsecond=document.redirect.redirect2.value=countdownfrom+1
function countredirect(){
if (
currentsecond!=2500){
currentsecond+=1
document
.redirect.redirect2.value=currentsecond
}
else{
clearTimeoutcurrentsecond );
return
}
setTimeout("countredirect()",100)
}
countredirect()
</script> 
Saludos y gracias de antemano ^^

Última edición por Gryphus; 01/02/2005 a las 10:26
  #2 (permalink)  
Antiguo 01/02/2005, 13:25
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

JAvascript se ejecuta en el navegador, PHP en el servidor. PHP no tiene acceso al navegador, asi que no tiene poder sobre la ejecucio de tu javascript.

Asi que tu solucion esta en hacerlo tambien via javascript, asi que alli te muevo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 03/02/2005, 05:19
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
He hecho una cosa un tanto cutre, poner el mismo codigo "ocultandolo" con php pero no se como pasar los segundos en los que se quedan a otra pagina por medio de php.. ¿Alguien tiene idea de como hacerlo..? Muchas gracias ^^
  #4 (permalink)  
Antiguo 03/02/2005, 13:40
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Bueno, ahora mismo no se que hacer... Vereis, con este codigo:
Código PHP:
<form name='redirect'>
<
input type='text' name='redirect2'>
</
form>
<
script
var 
countdownfrom=200 


var currentsecond=document.redirect.redirect2.value=co  untdownfrom+
function countredirect(){ 
if (
currentsecond!=2500){ 
currentsecond+=
document
.redirect.redirect2.value=currentsecond 

else{ 
clearTimeoutcurrentsecond ); 
return 

setTimeout("countredirect()",100

countredirect() 
</script> 
Consigo que desde el numero "200" vayan sucesivamente en tiempo real el 201, 202, 203... Asi hasta el 2500 pero necesito ponerle tiempo a ello, o sea, que a lo mejor a los 20 segundos pare, si no sabeis eso podeis decirme al menos como puedo hacer que se manden los datos automaticamente cuando llegue a 2500? es decir, como hacer que se envie el 2500 a otro archivo llamado prueba.php. Saludos y gracias
  #5 (permalink)  
Antiguo 03/02/2005, 13:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Gryphus

A ver si con esto vas avanzando:

}
else{
clearTimeout(pepe);
return
}
pepe=setTimeout("countredirect()",100)
}

Saludos,
  #6 (permalink)  
Antiguo 04/02/2005, 03:59
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Holas JavierB, ¿el codigo que me dices para que es? Es que lo uso pero el numero se dispara a 30000 y pico >_<. Yo lo uso asi:
Código PHP:

else{ 
clearTimeoutcurrentsecond ); 
return 

currentsecond setTimeout("countredirect()",100

Muchas gracias ^^

Última edición por Gryphus; 04/02/2005 a las 04:00
  #7 (permalink)  
Antiguo 04/02/2005, 10:41
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

Estás usando la variable currentsecond para asignarselo al temporizador y, al mismo tiempo, lo usas como contador. Pon cualquier otro nombre de variable, en el ejemplo que te puse he usado pepe, pero puedes poner cualquier otra, siempre que pongas lo mismo para iniciar el temporizador algo=setTimeout("countredirect()",100) y para pararlo clearTimeout(pepe);

No he probado el código así que es probable que tengas que ajustar el valor de if currentsecond, teniendo en cuenta que se incremente 10 veces cada segundo.

if (currentsecond!=2500){

Saludos,
  #8 (permalink)  
Antiguo 04/02/2005, 13:08
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
JavierB yo lo que intento es que vaya subiendo numero a numero hasta 2500 y si pasa 1 minuto se detenga haya o no haya llegado a la cantidad de 2500 >_<. Saludos y gracias
  #9 (permalink)  
Antiguo 04/02/2005, 17:02
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Ahora mismo lo tengo asi:
Código HTML:
<script>
var countdownfrom=200
var currentsecond22=document.redirect.redirect2.value=countdownfrom+1
function countredirect(){
if(currentsecond22!=500){
currentsecond22+=1
document.redirect.redirect2.value=currentsecond22
}
else{
clearTimeout(currentsecond22);
return
}
setTimeout("countredirect()",100);
setTimeout("parar()",1000);
}
countredirect()

function parar(){
clearTimeout(currentsecond22);
return
}
</script> 
Intento que cuando llegue a 0 el setTimeout("parar()",1000); se abra la funcion parar() y lo consigo pero no consigo hacer que se detengan los numeros de currentsecond23 >_<. ¿Algun consejo?. Saludos ^^

Última edición por Gryphus; 04/02/2005 a las 17:12
  #10 (permalink)  
Antiguo 05/02/2005, 04:35
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola.

A ver si esta vez acierto. Esta es la parte del código que tienes que modificar:
Código:
inicio=setTimeout("countredirect()",100);
setTimeout("parar()",1000);
}
countredirect()
function parar(){
  clearTimeout(inicio);
  return
}
Saludos,
  #11 (permalink)  
Antiguo 05/02/2005, 07:39
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Uso este codigo pero nada..
Código HTML:
<script>
var countdownfrom=200
var currentsecond22=document.redirect.redirect2.value=countdownfrom+1
function countredirect(){
if(currentsecond22!=500){
currentsecond22+=1
document.redirect.redirect2.value=currentsecond22
}
else{
clearTimeout(currentsecond22);
return
}
inicio=setTimeout("countredirect()",100);
setTimeout("parar()",1000);
}
countredirect()
function parar(){
clearTimeout(inicio);
return
}
</script> 
Saludos y gracias otra vez ^^
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 10:58.