| 
 Выполнения и остановка кода по клику Добрый день. Столкнутся с такой проблемой - мне надо что бы код (функция или цикл) начинал выполнятся по клику на кнопку при этом, условие его остановке - второй клик по этой кнопку. Побывал сделать так: 
var keytest =-1;
function stopkey ()
{
keytest =keytest *(-1);
			
}
function run()
{
	if (keytest==(-1)){btest();}
		
		for(;;){код}
}
$(document).ready(function(){
$("#btn0").click(stopkey);		
$("#btn0").click(run);	<!--btn0 - та самая кнопка на которую нужно нажать -->	
});
Но это код не работает - страница наглухо виснет. Что тут может помочь? Может какой нибудь хитрый тайм-аут или плагин JQuery? | 
| 
 setTimeout | 
| 
 Можно поподробней? А можно по подробней как это сделать, делал так - не сработало. 
var keytest =-1;
	function runtest()
	{
		keytest =keytest *(-1);
		alert(keytest);
		if (keytest==(-1)){btest();}
		for(;;){
		setTimeout(runfun(),3000);
		}
	}
	function runfun()
	{	
		alert("test");
        }
$(document).ready(function(){
	
$("#btn0").click(runtest);	
});
По идеи функция должна вызываться каждые 3 секунды, но она вызывается один раз. | 
| 
 Нашел свою ошибку Нашел ошибку в вызове функции runfun, правильно так: 
setTimeout(function(){runfun();},3000);
Но теперь браузер виснет при запуски функции. | 
| 
 Бесконечный цикл уберите | 
| 
 Цикл выполнится один раз? Да но без цикла код выполнится только один раз. Я переписал функцию runtest: 
function runtest()
	{
	keytest =keytest *(-1);
	if (keytest == (-1)){var intervalID = setInterval(function()   runfun();},3000);}
		if (keytest == (1)){clearInterval(intervalID);}
	}
Но это не останавливает цикл. Подскажите где я мог опять ошибётся? | 
| 
 intervalID вынесите выше функции 
var intervalID;
function runtest()
	{
	keytest =keytest *(-1);
	if (keytest == (-1)){intervalID = setInterval(function()   runfun();},3000);}
		if (keytest == (1)){clearInterval(intervalID);}
	}
 | 
| 
 Цитата: 
 | 
| 
 Спасибо за помощь Спасибо Вам zebra :thanks: , переменную intervalID, я глобальной объявить то объявил, только "var" в функцию в писал ещё, вот она каждый раз и объявлялась заново. :)  vadim5june - тут вы немного не правы, как видите это проблему можно решить решить таймъаутом. P.S. Надеюсь что когда нибудь в JavaScript добавят потоки | 
| 
 Цитата: 
 Что в итоге получилось-код не приведете? | 
| Часовой пояс GMT +3, время: 19:34. |