Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] setTimeout

Estas en el tema de setTimeout en el foro de Javascript en Foros del Web. Hola :) Que pena si parece que estoy duplicando temas pero estoy tratando de resolver algo que vi en otro hilo y me puse a ...
  #1 (permalink)  
Antiguo 14/05/2014, 09:01
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
setTimeout

Hola :)

Que pena si parece que estoy duplicando temas pero estoy tratando de resolver algo que vi en otro hilo y me puse a investigar como detener una funcion que se llama a si misma de forma recursiva mediante setTimeout()

Para detenerla... mi idea es pasarle un paramtro opcional llamado estado y segun ese valor (undefined | false | true) parar o re-activar una funcion rotar()

El problema es que al hacer:

Cita:
timer = setTimeout("alternar_banner(estado);",1500)
me arroja:

Cita:
Uncaught ReferenceError: 'estado' is not defined
en...

Código Javascript:
Ver original
  1. function rotar(estado)
  2. {
  3.     estado = estado || true
  4.    
  5.     var timer
  6.    
  7.     console.log(this.estado)
  8.    
  9.     if (estado)
  10.     {
  11.         window.document["banner"].src = array_imagen[contador].src
  12.         window.document.links[0].href = array_url[contador]
  13.         contador ++
  14.         contador = contador % array_imagen.length
  15.         timer = setTimeout("alternar_banner(estado);",1500)
  16.     }else
  17.         clearTimeout(timer)
  18. }


Ideas ?
__________________
Salu2!
  #2 (permalink)  
Antiguo 14/05/2014, 09:36
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: setTimeout

Solucionado con variables globales, nada de parametros opcionales
__________________
Salu2!

Etiquetas: funcion, settimeout, valor
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 05:23.