Я, конечно, искал SO для ответа на мой «конкретный» вопрос, но не нашел ничего, что позволило мне достичь моей желаемой цели. В принципе, я хотел бы иметь возможность объединять вызовы функций с возможностью добавления «задержки» между этими вызовами. Я полагаю, что потребуется что-то вроде линии setTimeout()
. Однако, поскольку эти вызовы асинхронны, я, очевидно, не могу просто объединить их и надеяться на результат. Я видел ссылку на встроенную функцию jQuery и функции dequeue и полагал, что на этом что-то может работать. До сих пор я не смог придумать ничего, что приблизилось к моему требованию.Функция jQuery цепочки несвязанных объектов
Я создал очень простой пример, который показывает, что я пытаюсь достичь, приковав здесь (кстати - jsfiddle это время немного медленно сегодня):
http://jsfiddle.net/jimibt/wZeTT/
это использует вложенные вызовы setInterval , поэтому противно и не масштабируется. Моя нирвана будет метод расширения JQuery, который имел следующий синтаксис (первые парами являются функцией, вторые паров быть setTimout задержки значения):
$().chain($('#strap1').fadeIn(1300), 500)
.chain($('#strap2').fadeIn(1300), 500)
.chain($('#strap3').fadeIn(1300), 500)
.start();
Теперь я знаю, что есть задержка() функция JQuery, но это только работает (насколько мне известно) как часть цепи против одного селектора и, следовательно, не может использоваться для объединения нескольких несвязанных элементов в соответствии с моим примером. Я вижу это связано SO вопрос, который близок к тому, что я надеялся, но все еще не завернутые так, как я бы хотел:
Chaining jQuery animations that affect different elements
Любые мысли?
Этот синтаксис не может работать. Вызов 'fadeIn' будет выполняться перед вызовом' chain', поэтому он не может быть изменен вторым параметром. Вы бы сделали что-то вроде '.chain (function() {$ ('# strap1'). FadeIn (1300)}, 500)', чтобы сделать эту работу. – Guffa
ok, проблемы с синтаксисом в стороне, я получаю это и хотел бы видеть это в действии :) и на самом деле удивляюсь, что общее расширение не будет «обертывать» функцию() {} вокруг параметра –