Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.03.2015, 12:13
Аватар для BRIGSS
Новичок на форуме
Отправить личное сообщение для BRIGSS Посмотреть профиль Найти все сообщения от BRIGSS
 
Регистрация: 06.11.2014
Сообщений: 5

не получается выйти из setInterval, не завершая его
не получается выйти из setInterval, не завершая его выполнение.
как вот в таком примере выйти из setInterval
, чтобы он заканчивался на i==2, а не был бесконечным?


i=0;
					function ff(){
						var g=setInterval(
						function(){
					alert(7);
				i++;
				if(i==2){clearInterval(g) ;return;
				}
				alert(i++);
					},1000
				)
					}
					ff();
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2015, 12:19
Аватар для BRIGSS
Новичок на форуме
Отправить личное сообщение для BRIGSS Посмотреть профиль Найти все сообщения от BRIGSS
 
Регистрация: 06.11.2014
Сообщений: 5

..

Последний раз редактировалось BRIGSS, 11.03.2015 в 12:28.
Ответить с цитированием
  #3 (permalink)  
Старый 11.03.2015, 12:29
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

А почему не setTimeout?
Ответить с цитированием
  #4 (permalink)  
Старый 11.03.2015, 16:39
Интересующийся
Отправить личное сообщение для arcmag Посмотреть профиль Найти все сообщения от arcmag
 
Регистрация: 06.02.2015
Сообщений: 29

function ff(){
var i=0,g=setInterval(
	function(){
		i++;
		if(i==2) clearInterval(g);
		alert(i);
	},1000)
}
ff();
Ответить с цитированием
  #5 (permalink)  
Старый 11.03.2015, 17:58
Новичок на форуме
Отправить личное сообщение для greenbeaver Посмотреть профиль Найти все сообщения от greenbeaver
 
Регистрация: 28.02.2015
Сообщений: 7

Сообщение от arcmag Посмотреть сообщение
function ff(){
var i=0,g=setInterval(
	function(){
		i++;
		if(i==2) clearInterval(g);
		alert(i);
	},1000)
}
ff();
так i не будет в глобальной области видимости, нужно доделать return i;
Ответить с цитированием
  #6 (permalink)  
Старый 11.03.2015, 18:12
Интересующийся
Отправить личное сообщение для arcmag Посмотреть профиль Найти все сообщения от arcmag
 
Регистрация: 06.02.2015
Сообщений: 29

Сообщение от greenbeaver Посмотреть сообщение
так i не будет в глобальной области видимости, нужно доделать return i;
Когда я тестировал все прекрасно работало, счетчик доходил до 2 и останавливался.
Да и зачем i нужно быть в глобальной видимости?
Ответить с цитированием
  #7 (permalink)  
Старый 11.03.2015, 18:36
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

greenbeaver, callback в setInterval не должен ничего никуда возвращать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в getElement удаётся получить тэг через getElemetsByTagName Терехов Станислав Общие вопросы Javascript 19 19.06.2014 06:35