Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: помогите остановить итерации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: функции, которая меняет цвета элементов
koka
Отправлено: 30 Декабря, 2010 - 11:24:07
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Здравствуйте!!! Есть такая функция
CODE (javascript):
скопировать код в буфер обмена
  1. function change()
  2.  
  3. {
  4.  
  5. var re="rgb("+Math.round(Math.random()*256)+","+Math.round(Math.random()*256)+","+Math.round(Math.random()*256)+")";
  6.  
  7.  
  8. document.getElementById("b").style.background=re;
  9. }


меняет цвета элементов с id b

проблема в том, что не получается вызвать нужное количество раз эту функцию

если так, то функция выполняется бесконечно
CODE (javascript):
скопировать код в буфер обмена
  1. SetInterval (change,1000);
  2.  



пытался сделать что-то такое
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function change()
  3.  
  4. {
  5.  
  6. var re="rgb("+Math.round(Math.random()*256)+","+Math.round(Math.random()*256)+","+Math.round(Math.random()*256)+")";
  7.  
  8.  
  9. document.getElementById("b").style.background=re;
  10. }
  11.  
  12. var iter=0;
  13. var iter2=30;
  14.  
  15. var do=setinterval (change,1000);
  16. for (iter=0;iter<=iter2;iter++)
  17. {
  18.  
  19. if (iter==iter2) clearInterval (do);
  20. }
  21.  
  22.  



Однако, в этом случае цвет ячейки не поменялся не разу.
Как мне задать нужное количество изменений цвета???
А можно ли каждую итерацию постоянно увеличивать задержку.
Например, первый раз смена цвета происходит с задержкой 1 секунду, потом с задержкой 1,1 секунду и т.д.


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
grefon
Отправлено: 30 Декабря, 2010 - 12:00:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Код написан неверно. Нужно так:
CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2.  
  3. i = 0;
  4. function change() {
  5.         var re="rgb("+Math.round(Math.random()*256)+","+Math.round(Math.random()*256)+","+Math.round(Math.random()*256)+")";
  6.         document.getElementById("b").style.backgroundColor = re;
  7.         if (i < 3) {
  8.                 i++;
  9.                 setTimeout("change()",1000);
  10.         }
  11.        
  12. }
  13. change();
  14.  
  15.  
  16. </script>
  17.  

(Отредактировано автором: 30 Декабря, 2010 - 12:20:21)



-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
koka
Отправлено: 30 Декабря, 2010 - 14:32:35
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




grefon, спасибо, но не работает Недовольство, огорчение


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
grefon
Отправлено: 30 Декабря, 2010 - 14:37:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




А у меня работает Радость
У Вас хоть цвет меняет?


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
koka
Отправлено: 30 Декабря, 2010 - 14:47:44
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




grefon пишет:
А у меня работает Радость
У Вас хоть цвет меняет?


нет, не работает.
Цвет не меняет.
Где я мог накосячить?:??


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
grefon
Отправлено: 30 Декабря, 2010 - 14:54:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Поставьте скрипт после объекта.
Кстати, if (i < 3) - 3 замените на нужное Вам число.


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
koka
Отправлено: 30 Декабря, 2010 - 14:58:16
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




grefon пишет:
Поставьте скрипт после объекта.
Кстати, if (i < 3) - 3 замените на нужное Вам число.



I я всё же догадался поменять.

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

Всё рабботает теперь, спасибо за помощь.


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
grefon
Отправлено: 30 Декабря, 2010 - 15:03:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Пожалуйста Улыбка


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
JustUserR
Отправлено: 30 Декабря, 2010 - 21:12:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




koka В качестве возможног варината реализация предполагаемой вами задачи допустимо использвать осуществлеие вызова управляющей функции в потоке окончания загрузки объекта DOM-модели - в таком случае определения порядка загрузки и включения элементов не является существеным что обеспечивает возможность контроля элементов без синхронизации потока загрузки


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Ch_chov
Отправлено: 31 Декабря, 2010 - 05:50:21
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Цитата:
если так, то функция выполняется бесконечно

Можно остановить с помощью clearInterval


Кстати, вот здесь похожая тема обсуждалась.
 
 Top
JustUserR
Отправлено: 02 Января, 2011 - 12:56:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Ch_chov пишет:
Можно остановить с помощью clearInterval
Последний предоставленный в данном потоке обсужденя варинат решения задачи включает использование функции setTimeout - и для осуществления отмены запнированного отложенного вызова функци необходимо прменять конструкцию clearTimeout


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB