Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выполнения и остановка кода по клику (https://javascript.ru/forum/misc/28121-vypolneniya-i-ostanovka-koda-po-kliku.html)

Партизан 13.05.2012 18:04

Получилось так:
 
В итоге у меня получилось так:
У меня две функции это 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

vadim5june 13.05.2012 18:29

Цитата:

Сообщение от Партизан (Сообщение 174237)
Всё работает как запланировано

А где бесконечный цикл-я не вижу?


Часовой пояс GMT +3, время: 11:49.