您好我如何将变量传递给此函数
var _index = $("#sideNewsContent_menu li").index($(this)) + 1;
$("#sideNewsContent_body").fadeOut(300, function (index) {
//HERE i want to use variable _index
});
答案 0 :(得分:4)
您可以使用“_index”可以在您定义的闭包中使用的事实:
var _index = $("#sideNewsContent_menu li").index($(this)) + 1;
$("#sideNewsContent_body").fadeOut(300, function () {
alert(_index);
});
在javascript中,当你定义一个匿名函数(一个闭包)时,你可以使用当前上下文中存在的所有变量(除了“this”这是一个特殊的关键字)。
答案 1 :(得分:1)
它已经在范围内了。请确保不要将var _index
放在函数中的任何位置,否则它将创建一个名为_index
的局部变量,该变量将优先于闭包中的_index
变量。
var _index = $("#sideNewsContent_menu li").index($(this)) + 1;
$("#sideNewsContent_body").fadeOut(300, function (index) {
_index++;
alert(_index);
});
不要这样做:
$("#sideNewsContent_body").fadeOut(300, function (index) {
var _index = _index++;
alert(_index);
});