Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 08 de Marzo 2016, 13:18

Título: JavaScript redireccionar a otra url recargar dirección window.location CU01171E
Publicado por: bermartinv en 08 de Marzo 2016, 13:18
Ejercicio CU01171E del tutorial JavaScript desde cero:

Citar
Crea una página web que al ser invocada muestre un mensaje “Hemos cambiado de ubicación esta página. En breves momentos será redireccionado…” junto a una cuenta atrás que muestre 5, 4, 3, 2, 1 (correspondiente a 5 segundos). Tras transcurrir 5 segundos y mostrarse la cuenta atrás, el usuario debe ser redireccionada a la url http://aprenderaprogramar.com. Para realizar este ejercicio debes usar la propiedad window.location junto con funciones que permitan el retardo en la ejecución vistas en entregas anteriores del curso.
Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
    #mensaje{
        position:relative;
        top:200px;
        left:20%;
    }   
   
    #texto{
        position:absolute; 
        color:crimson;
        font-size: 20px;
    }
   
    #cuentaAtras{
        position: absolute;
        font-size: 500px;
        color :cadetblue;
        left:15%;
        top:30px;
    }
   
</style>

<script>
    var contador = 0;
window.onload=function(){
    contar(5);
   
   
   
    function contar(numero){
       
        document.getElementById('cuentaAtras').innerHTML=numero;
        if (contador==5 && numero==0){
            clearTimeout(llamada);
            newDirection();
        }
    contador++;
         var llamada = setTimeout(function(){contar(numero-1)},1000);
   
    }
   
    function newDirection(){
        window.location.replace('http://aprenderaprogramar.com');
    }
   
}   
   
</script>
</head>
<body>
   <div id="mensaje">
    <div id='texto'>Hemos cambiado de ubicación esta página. En breves momentos será redireccionado…</div>
    <div id='cuentaAtras'></div>
    </div>
</body>
</html>

Saludos
Título: Re:JavaScript redireccionar a otra url recargar dirección window.location CU01171E
Publicado por: César Krall en 10 de Marzo 2016, 08:44
Hola! Funciona perfectamente. En esta línea if (contador==5 && numero==0) parece que con una sola condición sería suficiente, por ejemplo con if (contador==5) el código funciona igualmente. Realmente creo que lo mejor sería usar simplemente if (numero==0) de esa manera te ahorras el usar la variable contador, usando if (numero==0) ya no te haría falta la variable contador.

Saludos!
Título: Re:JavaScript redireccionar a otra url recargar dirección window.location CU01171E
Publicado por: bermartinv en 10 de Marzo 2016, 09:41
Si esa condición if quedaría mejor si fuera solo con 'numero==0' , es la mania de tener una variable de referencia contador.
Gracias César por tus correcciones.
Saludos!!!