На странице вы можете запускать столько setTimeouts / setIntervals одновременно, сколько пожелаете, однако для управления каждым из них вам нужно будет присвоить их переменной.
var interval_1 = setInterval("callFunc1();",2000);
var interval_2 = setInterval("callFunc2();",1000);
clearInterval(interval_1);
Тот же код выше применяется к setTimeout, просто заменяя формулировку.
Как сказал Кевин, JavaScript действительно является однопоточным, поэтому, хотя у вас может быть несколько тиковых таймеров одновременно, только один может срабатывать одновременно, то есть, если у вас есть один, который запускает функцию, которая «останавливается» при исполнении например, с окном оповещения, тогда JS должен быть «возобновлен», прежде чем другой сможет активировать, я считаю.
Еще один пример приведен ниже. Хотя разметка недействительна, она показывает, как работают тайм-ауты.
<html>
<body>
<script type="text/javascript">
function addThing(){
var newEle = document.createElement("div");
newEle.innerHTML = "Timer1 Tick";
document.body.appendChild(newEle);
}
var t1= setInterval("addThing();",1000);
var t2 = setInterval("alert('moo');",2000);
</script>
</body>
</html>