Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проблема с clearInterval (https://javascript.ru/forum/misc/9795-problema-s-clearinterval.html)

woo 06.06.2010 11:58

проблема с clearInterval
 
помогите плз.. не понимаю почему не работает:
есть такой JS код:
$(document).ready(function() {
		$('#send-prms2srv').html('');
		$('#send-show_rslt').html('');
		
		var iterationresult = setInterval(function() { ii = ii+1; get_send_result(); }, 2000);
		send_params_2_srv();						
		var iterationparams = setInterval(function() { ip = ip+1; send_params_2_srv(); }, 5000);
	});

сетинтервал работет нормально...
а мне надо иметь возможность его остановить когда понадобится.
написал так:
<a href="#" onclick="clearInterval(iterationresult);">остановить iterationresult</a><br>
		<a href="#" onclick="clearInterval(iterationparams);">остановить iterationparams</a><br>

но у меня не работает остановка.. сетинтервал продолжает выполняться.

Riim 06.06.2010 12:00

http://javascript.ru/clearInterval

woo 06.06.2010 12:05

и зачем вы мне дали эту ссылку?
я уже смотрел ту статью не раз. форум облазил...

я пишу на php, и с JS слабо знаком.. надеюсь ктото сможет сказать почему не работает...

micscr 06.06.2010 12:13

напиши без var:
iterationresult = setInterval(function() ...

- будет подразумеваться, что эта переменная - глобальная и будет доступна в тех обработчиках у ссылок.

woo 06.06.2010 12:17

micscr,
огромное спасибо, работает!

а если я сделаю в ссылках вызов функций, которые будут останавливать работу сетинтервалов - переменные с интервалами будут доступны?

woo 06.06.2010 12:20

а не.. я ошибся(
при нажатии на ссылку есть такое ощущение что интервалы все равно продолжают работать, но с небольшой задержкой...

micscr 06.06.2010 12:21

Сделай лучше один раз по нормальному:
var iterationresult = null;

- вне всяких функций и пользуйся им где хочешь и сколько хочешь (внутри функций естественно без var - это будет он).

woo 06.06.2010 12:22

micscr,
понял, щас попробую.. еще раз спасибо =)

woo 06.06.2010 12:28

Цитата:

Сообщение от woo (Сообщение 58089)
а не.. я ошибся(
при нажатии на ссылку есть такое ощущение что интервалы все равно продолжают работать, но с небольшой задержкой...

clearInterval работает, но почему то с тормозом..
нужно нажать 2-3 раза на ссылку чтобы все остановилось =)

woo 06.06.2010 12:35

все работает. спасибо


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