JQuery каждая функция, как заставить последовательную операцию - PullRequest
0 голосов
/ 24 марта 2011

Используя функцию JQuery .each (), она работает со всеми элементами одновременно Вместо этого я хочу, чтобы это было последовательно. Таким образом, работа с одной функцией завершается после выполнения второй и т. Д.

  $('#fader').children().hide();

$('#fader').children().each(function(){

        $(this).fadeIn(2000,function(){
            $(this).delay(4000);
            $(this).fadeOut(2000);
        });     
    });

1 Ответ

1 голос
/ 24 марта 2011

Вы можете сделать это с помощью рекурсивной функции, подобной этой:

function fader(elm) {
  elm.fadeIn(2000, function(){
    elm.delay(4000);
    elm.fadeOut(2000, function() {
      if (elm.next()) {
        fader(elm.next());
      }
    });
  });
}

$('#fader').children().hide();

fader($('#fader').children(':first'));
...