, желающий вызвать вторую функцию после завершения последовательности отсроченных затуханий в 1-й.Вызов функции из другого только после того, как он закончил
У меня есть 2 функции «firstTime» и «loopTime», как показано ниже, но только для того, чтобы «loopTime» запускался после завершения «firstTime».
Andy совет по получению этой работы? например «loopTime» следует вызывать после того, как последнее затухающее затухание в «firstTime» будет завершено - тогда «loopTime» должен воспроизводить его последовательность и цикл навсегда ...
Возможно?
function firstTime(callback) {
alert("firstTime")
$(".card h1").delay(5000).fadeIn(3500);
$(".card h1").delay(5000).fadeOut(3500);
$(".card h2").delay(17000).fadeIn(3500);
$(".card h2").delay(5000).fadeOut(3500);
return true;
}
function loopTime() {
alert("loopTime")
$(".card h1").fadeIn(3500);
$(".card h1").delay(5000).fadeOut(3500);
$(".card h2").delay(12000).fadeIn(3500);
$(".card h2").delay(5000).fadeOut(3500);
}
firstTime(function() {
loopTime();
});
Быстрое решение заключалось бы в том, чтобы добавить обратный вызов после того, как он будет длиннее. jQuery fadein и out принимает обратные вызовы http://api.jquery.com/fadein/ – nach
Но лучшим решением я считаю использование функции обратного вызова jQuery http://api.jquery.com/jquery.callbacks/ – nach
Обратите внимание: все ваши примеры повторно используют одни и те же селекторы. Вы можете просто связать их и избежать накладных расходов. например '$ (". card h1 "). delay (5000) .fadeIn (3500) .delay (5000) .fadeOut (3500)' –