Решение цепных обратных вызовов в Jquery - PullRequest
1 голос
/ 19 августа 2011

Я пытаюсь понять, что происходит в этом коде: (Говорят, что это очень эффективный способ решения связанных обратных вызовов)

(function hidenext(jq){
    jq.eq(0).fadeOut("fast", function(){
        (jq=jq.slice(1)).length && hidenext(jq);
    });

})($('div#bodyContent a'))

Буду очень признателен за помощь!

СпасибоФредди из Швеции

1 Ответ

2 голосов
/ 19 августа 2011

Hallå Freddie из Швеции

Дайте мне посмотреть, смогу ли я переписать это для вас:

function hidenext(jq){
    jq.eq(0).fadeOut("fast", function(){
        jq=jq.slice(1);
        if (jq.length !== 0) {
           hidenext(jq);
        }
   });

};
hidenext($('div#bodyContent a'));

Словами: при наличии списка элементов, исчезнуть первый икогда это исчезновение завершится, возьмите список, который состоит из всего, кроме первого элемента, и, если этот список не пустой, хвостовой рекурс.

Надеюсь, это поможет.

Майкл из Калифорнии

...