PHP - Problemas para recargar página con Reloj Cuenta Regresiva

   
Vista:

Problemas para recargar página con Reloj Cuenta Regresiva

Publicado por Camilo Ortiz (5 intervenciones) el 04/02/2015 22:31:15
Buenas tardes, tengo un código de una cuenta regresiva por fecha y hora que me funciona a la perfección, pero no sé como hacer para que cuando falte 1 segundo para cumplirse la hora, este refresque la página nuevamente, tengo entendido que lo puedo hacer con "location.replace()", pero no sé que codigos usar para que esto sea posible. Este codigo cuando refresca y se encuentra en 0000 hace aparecer un mensaje en un objeto con id "contador", pero por ejemplo si yo cargo la página faltando 1 minuto y la dejo abierta, este llega a 0000 y no hace aparecer ningún mensaje, solo cuando se refresca o se recarga la página por eso solicito una ayuda, muchas Gracias.

en HTML tengo algo así
1
2
3
<body onLoad="ConteoRegresivo()">
<div id="contador"></div>
</body>




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function ConteoRegresivo()
{
    var fecha=new Date('05 february 2015 16:11:00')
    var hoy=new Date()
    var dias=0
    var horas=0
    var minutos=0
    var segundos=0
    if (fecha>hoy)
    {
        var diferencia=(fecha.getTime()-hoy.getTime())/1000
 
 
        dias=Math.floor(diferencia/86400)
        diferencia=diferencia-(86400*dias)
        horas=Math.floor(diferencia/3600)
        diferencia=diferencia-(3600*horas)
        minutos=Math.floor(diferencia/60)
        diferencia=diferencia-(60*minutos)
        segundos=Math.floor(diferencia)
        document.getElementById('contador').innerHTML = '<input name="dias" class="y3" type="text" disabled="disabled" value="' + dias + '">: <input name="horas" class="y3" type="text" disabled="disabled" value="' + horas + '"> : <input name="minutos" class="b3" type="text" disabled="disabled" value="' + minutos + '"> : <input name="segundos" class="r3" type="text" disabled="disabled" value="' + segundos + '"><br><br>Días  -  Horas  -  Minutos - Segundos';
        if (dias>0 || horas>0 || minutos>0 || segundos>0)
        {
 
            setTimeout("ConteoRegresivo()",1000)
        }
    }
    else
    {
 
document.getElementById('contador').innerHTML = '<input name="dias" class="y3" type="text" disabled="disabled" value="0">: <input name="horas" class="y3" type="text" disabled="disabled" value="0"> : <input name="minutos" class="b3" type="text" disabled="disabled" value="0"> : <input name="segundos" class="r3" type="text" disabled="disabled" value="0"><br><br>Días  -  Horas  -  Minutos - Segundos';
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problemas para recargar página con Reloj Cuenta Regresiva

Publicado por xve (5512 intervenciones) el 05/02/2015 10:25:17
Hola Camilo, aqui te he modificado tu código para que recargue la pagina...

Ten en cuenta, que si se recarga muy rapdido, puede ser que ser recargue dos o mas veces.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
 
    <script>
    function ConteoRegresivo()
    {
        var fecha=new Date('05 february 2015 10:25:00')
        var hoy=new Date()
        var dias=0
        var horas=0
        var minutos=0
        var segundos=0
        if (fecha>hoy)
        {
            var diferencia=(fecha.getTime()-hoy.getTime())/1000
 
            dias=Math.floor(diferencia/86400)
            diferencia=diferencia-(86400*dias)
            horas=Math.floor(diferencia/3600)
            diferencia=diferencia-(3600*horas)
            minutos=Math.floor(diferencia/60)
            diferencia=diferencia-(60*minutos)
            segundos=Math.floor(diferencia)
            document.getElementById('contador').innerHTML = '<input name="dias" class="y3" type="text" disabled="disabled" value="' + dias + '">: <input name="horas" class="y3" type="text" disabled="disabled" value="' + horas + '"> : <input name="minutos" class="b3" type="text" disabled="disabled" value="' + minutos + '"> : <input name="segundos" class="r3" type="text" disabled="disabled" value="' + segundos + '"><br><br>Días  -  Horas  -  Minutos - Segundos';
            if (dias>0 || horas>0 || minutos>0 || segundos>0)
            {
                setTimeout("ConteoRegresivo()",1000)
            }else{
                location.reload();
            }
        }else{
            document.getElementById('contador').innerHTML = '<input name="dias" class="y3" type="text" disabled="disabled" value="0">: <input name="horas" class="y3" type="text" disabled="disabled" value="0"> : <input name="minutos" class="b3" type="text" disabled="disabled" value="0"> : <input name="segundos" class="r3" type="text" disabled="disabled" value="0"><br><br>Días  -  Horas  -  Minutos - Segundos';
        }
    }
    </script>
</head>
 
<body onLoad="ConteoRegresivo()">
<div id="contador"></div>
</body>
</html>

Es esto lo que buscabas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas para recargar página con Reloj Cuenta Regresiva

Publicado por Camilo Ortiz (5 intervenciones) el 05/02/2015 14:21:58
Perfecto, muchas gracias, era lo que necesitaba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar