Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.10.2016, 21:40
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Сообщение от рони Посмотреть сообщение
Poznakomlus,
ок. но но зачем усложнять
Потому что он может.)

Тс хотел for - он получил for.)
__________________
29375, 35
Ответить с цитированием
  #12 (permalink)  
Старый 22.10.2016, 22:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aetae,
как я понимаю решение совмещения for и setTimeout
<div style="width:300px; height:300px; background-color:red;" id="col"></div>
 <script type="text/javascript">
 var color = ["green", "blue", "red", "orange"];
 var el = document.getElementById('col');
 var max = color.length-1;

 for(var i=0; i<=max; i++) {
 (function(i){
 setTimeout(function(){
 el.style.background = color[i];
 }, 1000*i);
 })(i);
 }
 </script>
Ответить с цитированием
  #13 (permalink)  
Старый 22.10.2016, 23:17
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

рони, жесть.))
__________________
29375, 35
Ответить с цитированием
  #14 (permalink)  
Старый 23.10.2016, 20:22
Новичок на форуме
Отправить личное сообщение для vlad35 Посмотреть профиль Найти все сообщения от vlad35
 
Регистрация: 22.10.2016
Сообщений: 9

Спасибо Всем, кто ответил, все прочитал и принял к сведению. Я только несколько дней как взялся изучать JavaScript, поэтому извините за нелепый вопрос.
Ответить с цитированием
  #15 (permalink)  
Старый 24.10.2016, 00:44
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

vlad35, тогда тебе только этот вариант. На остальные не смотри, это просто извращенные развлечения.)
__________________
29375, 35
Ответить с цитированием
  #16 (permalink)  
Старый 24.10.2016, 05:26
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Сообщение от Aetae Посмотреть сообщение
vlad35, тогда тебе только этот вариант. На остальные не смотри, это просто извращенные развлечения.)
имхо: Тот вариант это рекурсия с созданием замыкания при этом еще долго живущая т.к. ссылка на функцию живет в SetInterval. Интерпретатору приходится каждый раз на вызов создавать контекст(окружение) для исполнения таких функций что просто ужасно для производительности. Тут как раз и нужно использовать чуть ли не единственную полезную фичу из ES6 стрелочные функции которые исполняются в текущем контексте.

что то вроде
<div style="width:300px; height:300px" id="col"></div>
<script>
	var color = [];
	var el = document.querySelector('#col');
	var f=()=> (el.style.background = color.shift()) && setTimeout(f,100);
	
+function(){  // заполняет массив цветов
var i=0,R=G=0,B=15,t=P=>P.toString(16),P=()=>color.push("#"+t(R)+t(G)+t(B));
while(i<16)P(R=i++);while(i>0)P(B=i--);while(i<16)P(G=i++);
while(i>0)P(R=i--);while(i<16)P(B=i++);while(i>0)P(G=i--);}();f()
</script>
Ответить с цитированием
  #17 (permalink)  
Старый 24.10.2016, 10:06
Новичок на форуме
Отправить личное сообщение для vlad35 Посмотреть профиль Найти все сообщения от vlad35
 
Регистрация: 22.10.2016
Сообщений: 9

Спасибо всем за участие, очень помогли! Я пока новичок в JavaScript, поэтому вопросы могут быть глупыми, извините!
Ответить с цитированием
  #18 (permalink)  
Старый 24.10.2016, 11:38
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Aetae
vlad35, тогда тебе только этот вариант
shift удаляет элемент с индексом 0 и сдвигает остальные элементы на один вниз
не совсем красиво то для данной задачи
Ответить с цитированием
  #19 (permalink)  
Старый 24.10.2016, 14:41
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Poznakomlus, все остальные варианты тут гораздо более неадекватные, а самому писать было лень.) Тот то хоть представление даёт, и адаптировать можно к любой подобной задаче.
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, как создать хэш таблицу (или массив) через цикл osetr Общие вопросы Javascript 6 11.11.2014 12:08
как правильно задать цикл wadim Общие вопросы Javascript 4 05.03.2014 21:19
Как сделать цикл for столько сколько нужно(Самостоятельным) f0stgis Общие вопросы Javascript 3 25.02.2014 16:26
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как завершить Settimeout() ? libinstyle Events/DOM/Window 7 29.03.2010 12:40