Я добавил таймер, используя HTML5 индикатор выполнения. При нажатии на кнопку панель активируется с помощью следующей функции. Это хорошо работает, но я хотел бы добавить, что по окончании процесса вы будете запускать действие, а также сможете остановить процесс при нажатии на другую кнопку.
<progress value="0" max="40" id="pbar" ></progress>
<div id="start-stop">
<button id="start" onclick="start_countdown()">Start</button>
<button id="stop">Stop</button>
</div>
...
function start_countdown(){
var reverse_counter = 40;
var downloadTimer = setInterval(function(){
document.getElementById('pbar').value = 40 - --reverse_counter;
if(reverse_counter <= 0)
clearInterval(downloadTimer);
},1000);
}