Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.07.2012, 23:11
Интересующийся
Отправить личное сообщение для nata031189 Посмотреть профиль Найти все сообщения от nata031189
 
Регистрация: 30.03.2012
Сообщений: 11

SetTimeout правильное использование
var massHeight1 = [20.1,9.1,13.8,11.9,13.2,7.2];
				var massHeight2 = [34.5,19.2,26.8,17.1,16.2,16.8];
				paintColoumsTimeout = setTimeout( function DrawColoums() {
						lenghtY1 = massHeight1[i]*7.6;
						lenghtY2 = massHeight2[i]*7.6;
						s.fillStyle = 'red';
						s.strokeStyle = '#fff';
						s.fillRect(startX1+lenghtDeltaX, startY-alpha-lenghtY1, lenghtX, lenghtY1+alpha);
						s.fillStyle = 'black';
						s.strokeStyle = '#000';
						while(j < lenghtY2+alpha)
						{
							s.fillRect(startX2+lenghtDeltaX, startY-alpha-lenghtY2, lenghtX, j);
							j+=0.1;
						}
						j = 0;
						lenghtDeltaX += 102;
						if(i <  massHeight1.length)
						{
							paintColoumsTimeout = setTimeout(DrawColoums, 300);
							i++;
						}
					
				},100);

Данный кусок кода рисуеит столбцы с высотой, которая задана в массиве massHeight1, massHeight2. Но мне нужно чтобы рисовались столцбы с низу вверх плавно для этого я создала цикл while
while(j < lenghtY2+alpha)
						{
							s.fillRect(startX2+lenghtDeltaX, startY-alpha-lenghtY2, lenghtX, j);
							j+=0.1;
						}

но мне нужно,чтобы это все рисовалось с задержкой,тоесть надо это заключить в SetTimeout. Как это должно выглядеть?
Помогите, очень надо!
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2012, 10:06
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

nata031189,
создайте функцию
function stroika(){
 if (j < (lenghtY2 + alpha)){clearInterval(interval); return}
 s.fillRect(startX2+lenghtDeltaX, startY-alpha-lenghtY2, lenghtX, j);
 j+=0.1;
}
interval = setInterval('stroika()', 500);

интервал будет действовать до конца постройки (когда if станет false).
__________________
Интересно я единственный человек у которого чистая --> ⌨?
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2012, 10:54
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Dim@, думал, что моя ава ужасна, но глядя на твои, понял, что это не так
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 07.07.2012 в 10:59.
Ответить с цитированием
  #4 (permalink)  
Старый 07.07.2012, 10:55
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

nerv_,
угу
__________________
Интересно я единственный человек у которого чистая --> ⌨?
Ответить с цитированием
  #5 (permalink)  
Старый 07.07.2012, 11:18
Интересующийся
Отправить личное сообщение для nata031189 Посмотреть профиль Найти все сообщения от nata031189
 
Регистрация: 30.03.2012
Сообщений: 11

А куда именно поставить эту функцию, поставила вместо while - пишет в консоли, что не известна функция stroika.
Можно полностью весь код с данной функцией? Спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 07.07.2012, 11:32
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

nata031189,
он выводит в консоль что не известна функция stroika потому что сетИнтервал и сетТаймаут умеют вызывать функцию только из глобальной области видимости, попробуйте вынести эту функцию за рамки данной (в глобальную область)
__________________
Интересно я единственный человек у которого чистая --> ⌨?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача контекста через setTimeout decadent jQuery 3 10.02.2011 19:01
jquery.history.js Правильное использование warobushek jQuery 0 10.02.2011 07:42
setTimeout в браузере IE и Opera leha66 Javascript под браузер 2 13.12.2010 13:02
Аргументы в setTimeout - проблема в IE 6 micscr Общие вопросы Javascript 8 28.09.2009 13:08
Использование метода setTimeout News Общие вопросы Javascript 3 18.09.2008 20:37