1

我试图理解这段代码中发生了什么:(据说这是解决链式回调的一种非常有效的方法)

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

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

真的很感激一些帮助!

谢谢,来自瑞典的 Freddie

4

1 回答 1

2

来自瑞典的 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'));

换句话说:给定一个元素列表,将第一个元素淡出,当淡出完成时,取出包含除第一个元素之外的所有元素的列表,如果该列表非空,则进行尾递归。

希望这可以帮助。

来自加利福尼亚的迈克尔

于 2011-08-19T08:54:25.800 回答