В итоге у меня получилось так:
У меня две функции это runtest и runfun и две глобальных переменных intervalID и keytest
При нажатии на кнопку, я вызываю функцию runtest она либо создаёт setInterval или на оборот удаляет его. А setInterval вызывает функцию runfun каждые 3 секунды.
Вот код:
var keytest = 1;
var intervalID;
function runtest()
{
keytest =keytest *(-1);<!-- 1 меняется на -1 и на оборот -1 на 1 -->
if (keytest == (-1)){intervalID = setInterval(function() runfun();},3000);} <!-- можно поставить любое время, тут это 3 секунды -->
if (keytest == (1)){clearInterval(intervalID);}
}
function runfun()
{
<!--Функция вызывается каждые три секунды-->
}
$(document).ready(function(){
$("#btn0").click(runtest); <!--btn0 - кнопка -->
});
Всё работает как запланировано - функция вызывается работает пока второй раз не нажать на кнопку, при этом другие элементы странице тоже работают.
Конечно есть и другие, более правильные решения:
http://javascript.ru/blog/tenshi/mno...ktor-processov