Foros del Web » Programando para Internet » Javascript »

Comportamiento raro de setTimeout

Estas en el tema de Comportamiento raro de setTimeout en el foro de Javascript en Foros del Web. Buenas, tengo dos funciones en Javascript. La primera toma un string como parámetro y lo muestra por pantalla, y la segunda llama a la primera ...
  #1 (permalink)  
Antiguo 09/12/2007, 16:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 10
Antigüedad: 16 años, 5 meses
Puntos: 0
Comportamiento raro de setTimeout

Buenas, tengo dos funciones en Javascript. La primera toma un string como parámetro y lo muestra por pantalla, y la segunda llama a la primera pasándole un string y además con un delay, utilizando setTimeout. El código es el siguiente:

function display(texto){
var derecha = document.getElementById( "derecha" );
derecha.innerHTML = texto;
}

function iniciar(){
var text = "hola";
id=setTimeout("display("+text+")",5000);
}

Pues este código no funciona, sin embargo, si quito el setTimeout y pongo directamente

display(text)

Va perfectamente, luego digo yo que el error estará en como llamo al setTimeout, el caso es que creo que lo hago bien. He probado otras formas y ninguna ha dado resultado. Alguien sabe como arreglarlo?. Le estaría muy agradecido.

Gracias de antemano!!
  #2 (permalink)  
Antiguo 09/12/2007, 16:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Comportamiento raro de setTimeout

Hola:

Simplemente se intenta leer la variable hola, porque el contenido de tu variable text no está entrecomillado, así que la cadena que generas sería:
display(hola), cuando debería ser display("hola") ¡fíjate en las comillas...prueba así:

id=setTimeout("display('"+text+"')",5000);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 03:49.