我很擅长使用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。
答案 0 :(得分:10)
由于$(document).ready(slideShow())
立即调用slideShow
,并将的返回值传递给ready
函数。
$(slideShow);
应该怎么做;)