Um in Javascript einen Countdown bzw. einen Timer darzustellen bedarf es nicht viel. Man kann die windows.setInterval("function()", milliseconds)
nutzen, um eine Funktion immer wieder aufzurufen, die dann die Zahl in <span class="timer">300</span>
um die verstrichene Zeit heruntersetzt. Gemischt mit jQuery könnte das so aussehen:
//Pass timer to updateTime to get rid of performance-critical dom-traversing
//which would otherwise occur in every update
$timer = $('.timer');
var timer = setInterval("updateTime($timer)", 1000);
function updateTime($time) {
var time = $time.html();
time--;
$time.html(time);
if(time <= 0) {
clearInterval(timer);
$time.html(0);
}
}
Das abschließende setzen auf 0 im if ist eher pro forma da, falls man einen größeren Intervall nimmt. Das Übergeben des timer-Elements ist wirklich wichtig. Würde man stattdessen das Element immer wieder neu heraussuchen, geriete gerade bei einem so kleinen Intervall der Browser ins Stocken.
Geht es einfacher?