你好我怎麼可以傳遞變量到這個功能如何在jQuery的參數傳遞到函數功能後淡出
var _index = $("#sideNewsContent_menu li").index($(this)) + 1;
$("#sideNewsContent_body").fadeOut(300, function (index) {
//HERE i want to use variable _index
});
你好我怎麼可以傳遞變量到這個功能如何在jQuery的參數傳遞到函數功能後淡出
var _index = $("#sideNewsContent_menu li").index($(this)) + 1;
$("#sideNewsContent_body").fadeOut(300, function (index) {
//HERE i want to use variable _index
});
你可以使用的事實, 「_index」 可以在封閉使用正在定義:
var _index = $("#sideNewsContent_menu li").index($(this)) + 1;
$("#sideNewsContent_body").fadeOut(300, function() {
alert(_index);
});
在JavaScript中,當你定義一個匿名函數(閉包)時,你可以使用當前上下文中存在的所有變量(「this」是一個特殊的關鍵字除外)。
這就是他已經做的。他只是不知道。 – 2011-03-11 14:03:40
@ jerome-wagner thnx – 2011-03-11 14:05:58
它已經在範圍之內。請確保不要在函數的任何位置放置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);
});
它已經提供給你。 – thirtydot 2011-03-11 14:00:37
爲什麼不能使用它?它看起來100%正確?你確定「$(」#sideNewsContent_menu li「)。index($(this))+ 1」正在返回一個值 – 2011-03-11 14:01:09
你剛剛做到了! (好吧,你沒有「通過」它,但它是可用的。) – 2011-03-11 14:04:05