Если надо производить какое-то действие каждую секунду, то правильней использовать
setInterval:
function startTimer(secs) {
var i = 0;
var timer = document.getElementById('timer');
var interval = setInterval(function() {
if (++i >= secs) {
clearInterval(interval);
timer.innerHTML = 'Done!';
} else {
++timer.innerHTML;
}
}, 1000);
}
startTimer(10);
Демо.
Если действие каждую секунду производить не надо, то таймаут рациональней задать один на всю длительность:
function startTimer(secs) {
var timer = document.getElementById('timer');
setTimeout(function() {
timer.innerHTML = 'Done!';
}, secs * 1000);
}
startTimer(10);
Демо.