Есть два несложных скрипта запускающих css анимацию. Задача модифицировать оба кода так, чтобы они начинали выполняться с задержкой в секунду.
- Вопрос задан более трёх лет назад
- 7983 просмотра

Решение для первого скрипта:
Решение для второго:
$t::
MouseGetPos, MouseX, MouseY
PixelGetColor, Color1, (MouseX+2), (MouseY+2)
StringSplit, Colorz, Color1
Color1B = 0x%Colorz3%%Colorz4%
Color1G = 0x%Colorz5%%Colorz6%
Color1R = 0x%Colorz7%%Colorz8%
Color1B += 0
Color1G += 0
Color1R += 0

В вашем примере, они одновременно покажутся, чтобы это произошло с задержкой можно сделать так
думаю суть ясна, ну это хорошо, когда элементов 2-4, если же их будет больше, лучше циклом бежать по всем и уже делать по порядку, а то код превратится в помойку
Есть два несложных скрипта запускающих css анимацию. Задача модифицировать оба кода так, чтобы они начинали выполняться с задержкой в секунду.
- Вопрос задан более трёх лет назад
- 7983 просмотра

Решение для первого скрипта:
Решение для второго:
$t::
MouseGetPos, MouseX, MouseY
PixelGetColor, Color1, (MouseX+2), (MouseY+2)
StringSplit, Colorz, Color1
Color1B = 0x%Colorz3%%Colorz4%
Color1G = 0x%Colorz5%%Colorz6%
Color1R = 0x%Colorz7%%Colorz8%
Color1B += 0
Color1G += 0
Color1R += 0

В вашем примере, они одновременно покажутся, чтобы это произошло с задержкой можно сделать так
думаю суть ясна, ну это хорошо, когда элементов 2-4, если же их будет больше, лучше циклом бежать по всем и уже делать по порядку, а то код превратится в помойку
Я не могу .delay метод, работающий в jQuery:
Я использую цикл while, чтобы ждать, пока неконтролируемое изменяющееся значение не будет больше или равно другому, и я не могу найти способ приостановить выполнение в течение X секунд.
8 ответов
$.задержка используется для задержки анимации в очереди, а не для остановки выполнения.
вместо использования цикла while вам нужно рекурсивно вызвать метод, который выполняет проверку каждую секунду с помощью setTimeout :
вы также можете просто отложить некоторую операцию таким образом:
JavaScript setTimeout очень хорошее решение:
на delay функция в jQuery в основном используется для задержки анимации в очереди анимации jQuery.
в jQuery!—2—> функция предназначена для использования с эффектами и очередей эффект, см. delay docs и пример в нем:
если вы хотите наблюдать переменную для изменений, вы можете сделать что-то вроде
delay() не останавливает поток кода, а затем повторно запускает его. В JavaScript нет практического способа сделать это. Все должно быть сделано с функциями, которые принимают вызовы, такие как setTimeout которых уже упоминалось.
цель jQuery delay() — заставить очередь анимации ждать перед выполнением. Так, например, $(element).delay(3000).fadeIn(250); заставит элемент исчезнуть через 3 секунды.
только javascript будет работать без jQuery
Javascript-это асинхронный язык программирования, поэтому вы не можете остановить выполнение в течение некоторого времени; единственный способ [псевдо]остановить выполнение-использовать setTimeout (), который не является задержкой, а «задержкой обратного вызова функции».
ES6 в функции setTimeout
Edit: 204586560000 ms-приблизительное время между исходным вопросом и этим ответом. если я правильно рассчитал.