jQuery

Задержка

Собственно вот кусок кода.

Идея в том что, в каждом цикле выдвигается (с помощью анимации) блок, так вот цикл проходит очень быстро и получается, что может выехать сразу 3 блока (если рандом не повторился). Вопрос как применить settimeout в этом цикле (чтобы была задержка). Покажите это в этом коде. Буду благодарен.
Отличие JS от PHP заключается в том, что при вызове функции, которая ничего не возвращает, PHP говорит функции: "Ты давай выполняйся, сколько тебе нужно, я тебя здесь подожду", а JS говорит: "Ты там выполняйся, сколько тебе нужно, а я дальше пошел".

То есть, в твоем случае, в течение нескольких микросекунд трижды вызываются некие анимации, каждая из которых выполняется одну секунду. Беда в том, что все три анимации отрабатывают единовременно и предсказать полученный эффект довольно затруднительно. Чтобы избавиться от этого, часто вкладывают setTimeout() в setTimeout(), тогда первая функция вызывается сразу же, а вложенная подчиняется правилам родительской.
Денис Махров
Денис Махров
96 019
Лучший ответ
function startPart()
{
// Выполняем нужные нам действия

/ /через 5 секунд запустить endPart
setTimeout("endPart()", 5000);
}

function endPart()
{
// выполняем оставшиеся действия после задержки
}
Nico Engels
Nico Engels
20 058
я бы оставил функцию рандомности
а все остальное зпложил в switch case и там бы проверял а от туда бы уже шел в какую либо функцию

ну это с первого взгляда на код
так как абсолютно не понятно зачем цикл который срабатывает 3 раза при чем это все происходит почти сразу затем функции внутри с задержкой. ошибки тут будут все равно так как вот пример
выпадает число 1 срабатывает первая функция вроде вс еработает но тут опять выпадает 1 так как все рандомно и та функция пытается закончится а тут вдруг ее еще раз нужно выполнить и они конфликтуют потому что никто не может разобратся что нужно делать

опиши суть задачи тогда попробую помочь

Похожие вопросы