解决Jquery中的链式回调

发布于 2024-11-30 07:05:41 字数 271 浏览 0 评论 0原文

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

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

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

非常感谢一些帮助!

谢谢, 弗莱迪(来自瑞典)

I try to understand whats happening within this code:
(This is said to be a very effective way for solving chained callbacks)

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

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

Would really appreciate some help!

Thanks,
Freddie from Sweden

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小ぇ时光︴ 2024-12-07 07:05:41

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

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

希望这有帮助。

来自加利福尼亚州的迈克尔

Hallå Freddie from Sweden

Let me see if I can re-write it for you:

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

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

In words: given a list of elements, fade the first one out and when that fade completes, take the list that consists of everything but the first element and, if that list is non-empty, tail-recurse.

Hope this helps.

Michael from California

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文