-3

我对使用 jQuery 非常陌生(我很擅长使用常规 js),而且我很难,真的很难,试图弄清楚这一点,我已经阅读了好几天,因为我通常会发现我自己的答案,但这已经太过分了。

我不知道为什么,当这样编码时:

$(document).ready(slideShow());

function slideShow() {
    alert("enters");
    $('ul.imgslider').each(function () {
        $('li', this).css("display", "block");
        $('li', this).fadeOut(1000);
    });
};

警报已执行,但 .each() 未执行。如果你这样编码:

$(document).ready(function slideShow() {
    alert("enters");
    $('ul.imgslider').each(function () {
        $('li', this).css("display", "block");
        $('li', this).fadeOut(1000);
    });
});

一切都执行。我只是不明白,我想知道为什么会这样?更奇怪的是,在 jsfiddle 中它确实被执行了,但是当我在本地运行它时却没有。我正在使用 jquery-2.0.3.min.js。

4

1 回答 1

10

因为立即$(document).ready(slideShow())调用,并将其返回值传递给函数。slideShow ready

$(slideShow);

这就是它应该如何做的;)

于 2013-11-05T22:14:43.873 回答