Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/07/2014, 14:43
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Temporizador de 30 minutos para enviar datos de un formulario

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
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand