@5mc

Постепенное увеличение скорости создания элементов?

Есть скрипт, создающий новые div'ы. Как реализовать плавное увеличение скорости создания этих div'ов с помощью JS? Например: сначала 2 diva за 5 секунд, потом 4 divа за 5 секунд и так далее?

Пока все это статически с помощью setInterval:

function createItem() {
	    $('#block').append('<div style="top:5px; left:7px;" class="item"></div>');
	  }

	  setInterval(createItem, 850);
  • Вопрос задан
  • 351 просмотр
Решения вопроса 2
alsopub
@alsopub
Можно заменить setInterval на setTimeout, в конце функции появится setTimeout и каждый раз уменьшать следующую задержку: codepen.io/anon/pen/WwYXmm?editors=1111 (0.9 - замедление, 100 - минимальная задержка, 2000 - начальный интервал)

function create(delay) {
  console.log(delay);
  if (delay > 100) {
    setTimeout(create, Math.floor(delay), delay * 0.9);
  }
}

create(2000);
Ответ написан
Комментировать
@VZVZ
Reverse-Engineer, Software Developer, Architect
Циклом. В каждом проходе создаем нужное количество divов (вложенный цикл), после чего delay на один и те же 5 секунд (или sleep, интервал/таймер не помню что из этого есть в JS), и следующий проход.
Очень простой алгоритм.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
А как увеличиваться количество должно? Линейно или нет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы