Ваш код очищает интервал, если выполняется более 30 секунд.
Удалите строку с clearInterval
, и он не остановится:
var count=-1;
var counter=setInterval(timer, 1000);
function timer()
{
count=count+1;
if (count >=30)
{
$("#myModal").modal();
}
document.getElementById("timer").innerHTML=count + " secs"; // watch for spelling
}