function countdown(num) {
if(num < 0) {
return;
}
setTimeout(function() {
alert(num);
countdown(num - 1);
}, 1000);
}
Note: I'm aware that the dropbox version shows the first alert without any delay, whereas this waits a second before showing anything. This is slightly different behavior, but arguably acceptable.