1

このコード内で何が起こっているのかを理解しようとします: (これは、チェーンされたコールバックを解決するための非常に効果的な方法であると言われています)

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

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

助けていただければ幸いです。

ありがとう、スウェーデンのフレディ

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 に答える