Javascript.RU

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

Подсчитать количество итераций setInterval() и вызвать clearInterval()
Возникла ситуация, когда нужно подсчитать количество итераций выполненых с помощью метод setInterval(); и вызвать clearInterval(); для определенного числового значения, при этом числовое значение будет вводить пользователь в элемент input.

т.е. в нижеприведенный код создает элементы, залитые произвольным цветом, нужно чтобы количество элементов ограничивалось конкретным числовым значением, а не бесконечным циклом. И каждый создаваемый элемент имел свой последовательный порядковый номер (рядом с кодом цвета в скобках слева от div.innerHTML = color).


function init() {
div = document.createElement("div");
div.style.cssText = "border: 1px solid #FFF; float: left; margin: 5px; padding: 0px 50px; width: 50px";
body = document.getElementById("body");
document.body.insertBefore(div, body);

for(i=0; i<100; i++){
	color= div.style.backgroundColor = '#' + Math.floor(Math.random() * (1000 - 0 + 1)) + 342;
	div.innerHTML = color;
     }   
}

setInterval('init()', 1000);
window.onload = init;


PS: любые конструктивные предложения

Последний раз редактировалось yolka, 27.12.2009 в 16:49.
Ответить с цитированием
  #2 (permalink)  
Старый 27.12.2009, 16:47
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от yolka
нужно подсчитать количество итераций выполненых с помощью метод setInterval(); и вызвать clearInterval();
Использовать для этого переменную не судьба? При каждом срабатывании интервала увеличивай и проверяй.
Ответить с цитированием
  #3 (permalink)  
Старый 27.12.2009, 17:01
Аватар для yolka
Интересующийся
Отправить личное сообщение для yolka Посмотреть профиль Найти все сообщения от yolka
 
Регистрация: 14.09.2009
Сообщений: 13

B~Vladi
пропустить через цикл, выражения типа var interval = setInterval(); и потом его "хлопнуть" clearInterval(); при нужном значении?

PS: этот пример я сделала для саморазвития, т.к. изучаю совсем недавно этот язык и еще не совсем понимаю некоторые вещи..
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2009, 18:00
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

yolka,
все проще.
var iterationCount = 0;

function myTimer(){
	if (iterationCount++ < 10){
		clearInterval(myTimerIntervalId);
	};
	...
};

var myTimerIntervalId = setInterval(myTimer, 1000);
Ответить с цитированием
  #5 (permalink)  
Старый 28.12.2009, 23:05
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от yolka Посмотреть сообщение
для определенного числового значения, при этом числовое значение будет вводить пользователь в элемент input.
Используйте лучше setTimeout, почему написано вот здесь:http://javascript.ru/blog/Andrej-Par...meout-interval
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
clearInterval и setInterval из разных локаций. Bakuryu Events/DOM/Window 6 27.07.2008 22:45