To może być najgorszy pomysł, jaki istnieje, ale być może wystarczy jednorazowo obliczyć czas między teraz a datą końcową, znaleźć żądaną liczbę interwałów, a następnie wywołać setInterval
i ręcznie zmniejsz wartość.
alias:
var initialTime = new Date();
var endTime = /* Your Time when the thing is over */
var intervalId = setInterval(function()
{
// Every second, decrement the counter by 1 second.
// if counter is done, show end and then
clearInterval(intervalId);
}, 1000);