Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/07/2014, 15:48
Avatar de MLDGATO
MLDGATO
 
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: Temporizador de 30 minutos para enviar datos de un formulario

Cita:
Iniciado por Alexis88 Ver Mensaje
Podrías hacerlo así:

Código HTML:
Ver original
  1. <label id = "tiempo">30:00</label>

Código Javascript:
Ver original
  1. var salida = document.getElementById("tiempo"),
  2.     minutos = 30,
  3.     segundos = 0,
  4.     intervalo = setInterval(function(){
  5.         if (--segundos < 0){
  6.             segundos = 59;
  7.             minutos--;
  8.         }
  9.      
  10.         if (!minutos && !segundos)
  11.             clearInterval(intervalo);
  12.  
  13.         salida.innerHTML = minutos + ":" + (segundos < 10 ? "0" + segundos : segundos);
  14.     }, 1000);

Lo que hace este pequeño script es lo siguiente. Primero, tomo al elemento en el cual se visualizará la cuenta regresiva, además, inicializo a las variables minutos y [inline]segundos/inline] con los valores que inicialmente (valga la redundancia) deberán de tener y por último, una cuarta variable de nombre intervalo, a la cual le asignaré el intervalo creado con el método setInterval. En la función que se ejecutará cada segundo en el intervalo, resto 1 a segundos y si su valor es menor a 0, le asigno el 59 como nuevo valor, además, resto 1 a minutos, de este modo, para la siguiente ejecución, segundos será igual a 59 - 1, por lo que al no ser menor que 0, quedará con ese valor y no se restará otro minuto. Por otro lado, cuando los valores de minutos y segundos sean iguales a 0 (recordando que el 0 equivale al valor booleano false), se terminará el intervalo de tiempo. Finalmente, muestro en el elemento de salida a los valores actualizados de las variables minutos y segundos, dándole a esta última el formato respectivo en caso sea menor que 10.



Saludos
Muchas gracias el script se ve simple pero no me funciona el temporizador no corre, creo que tengo que poner un onload en el body para llamar la función??? pero no se, muchas gracias.