Foros del Web » Programando para Internet » Javascript »

Problema con código timeout

Estas en el tema de Problema con código timeout en el foro de Javascript en Foros del Web. Hola Tengo un script que habilita un botón tras una cuenta atras, pero no me funciona correctamente. Este es el código Código: <script type="text/javascript"> var ...
  #1 (permalink)  
Antiguo 21/03/2010, 01:54
(Desactivado)
 
Fecha de Ingreso: julio-2004
Ubicación: https://t.me/pump_upp
Mensajes: 69
Antigüedad: 19 años, 10 meses
Puntos: 1
Problema con código timeout

Hola
Tengo un script que habilita un botón tras una cuenta atras, pero no me funciona correctamente. Este es el código
Código:
<script type="text/javascript">

var t = 5;
setTimeout("contador()", 500);

function contador() {
    if (t != 1) {
        t--;
        document.getElementById(\'tiempo\').innerHTML = t;
        setTimeout("contador()", 1000);
		
    } else if (t == 1) {
        tiempo();
    }
}

function tiempo() {
	document.getElementById(\'espera\').style.display = "none";
	document.getElementById(\'continuar\').style.display = "block";
}

</script>
Saludos y gracias por su ayuda
  #2 (permalink)  
Antiguo 21/03/2010, 07:40
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Problema con código timeout

Tenés un problema de comillas. Además, por razones de rendimiento, te sugiero que no uses el primer argumento de setTimeout como string sino como una referencia directa a la función a ejecutar:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>

</head>

<body>
<div id="espera">Colocar aquí el contenido para  id "espera"</div>
<div id="continuar">Colocar aquí el contenido para  id "continuar"</div>
<div id="tiempo">Colocar aquí el contenido para  id "tiempo"</div>
<script type="text/javascript">

var t = 5;
setTimeout(contador, 500);

function contador() {
    if (t != 1) {
        t--;
        document.getElementById('tiempo').innerHTML = t;
        setTimeout(contador, 1000);
		
    } else if (t == 1) {
        tiempo();
    }
}

function tiempo() {
	document.getElementById('espera').style.display = "none";
	document.getElementById('continuar').style.display = "block";
}

</script>
</body>
</html>

Etiquetas: timeout
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 12:04.