Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2012, 18:02
Люблю js, jquery
Отправить личное сообщение для dadli Посмотреть профиль Найти все сообщения от dadli
 
Регистрация: 23.08.2011
Сообщений: 214

один setInterval внутри другого setInterval-а
приветствую

есть две таимер, один основи, котори виполняется через кажди 3 секунд. еше есть втарои внутренни таимер, ето внутренни таимер запускается при кожди обновлении основого таимера, ето внутренни таимер вичисляет цифри от 1 до 100 очен бистро и ждёт обнавленя основого таимера, что снова вичислить от 0 до 100.
проблема в том, например я открил несколко вкладки в браузере, если я смотрю на страницу, где етот код випоняется, то всо ок, но если я переклучаю (пересматрю) другие несколкие вкладки, и потом вернус на странице где код виполняется, то уже внутренни таимер не коректно работает, то есть работает без останавлении, уже не ждёт обневланю основого таимера. почему так происходит? вот код

function dve_schetchik () {
	i = 0;
	c = 1;
	// основи таимер
	setInterval( function goo() {
		if (i > 4) {
			i = 0;
		}
		document.getElementById('id_1').innerHTML = i;
		i++;
		// внутренни таимер
		vnutrenni = setInterval( function fast() {
			if (c < 100) {
				c++;
			    document.getElementById('id_2').innerHTML = c;
			}
			else {
				clearInterval(vnutrenni);
				c = 1;
			}
		},10);
		//конец внутренни таимер
	},3000);
	//конец основи таимер
}


<body onLoad="dve_schetchik();">
<div id="id_1">0 </div>
<div id="id_2">0 </div>
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2012, 21:35
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

почитайте http://learn.javascript.ru/settimeou...B2-setinterval

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

поставьте хотя бы перед строкой
vnutrenni = setInterval( function fast() {

проверку
if (c !== 1) return;
Ответить с цитированием
  #3 (permalink)  
Старый 19.03.2012, 00:23
Люблю js, jquery
Отправить личное сообщение для dadli Посмотреть профиль Найти все сообщения от dadli
 
Регистрация: 23.08.2011
Сообщений: 214

Pavel M.,
спасибо, очен помагли
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2012, 16:12
Аспирант
Отправить личное сообщение для Keeper Посмотреть профиль Найти все сообщения от Keeper
 
Регистрация: 28.04.2011
Сообщений: 73

Еще ссылочку на учебник русского языка, класса этак 5го дайте ...
Извините не здеражался ... )
Ответить с цитированием
  #5 (permalink)  
Старый 20.03.2012, 17:22
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

Keeper, ну уж шутки про знание русского языка пишите без ошибок.
Ответить с цитированием
  #6 (permalink)  
Старый 20.03.2012, 18:16
Аспирант
Отправить личное сообщение для Keeper Посмотреть профиль Найти все сообщения от Keeper
 
Регистрация: 28.04.2011
Сообщений: 73

На эмоциях, простите )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как рандомно запустить js внутри другого js? fonzo24 Общие вопросы Javascript 3 21.11.2011 13:31
Перемещение div внутри другого Danila74 jQuery 1 24.09.2009 17:31
Еще один вопрос по setTimeout setInterval Хранитель Света Общие вопросы Javascript 5 12.03.2009 22:37