0
我在頁面上有一些元素,我想通過JQuery擴展函數調用它們的函數。我有這個功能declarement:setTimeout立即運行
(function ($) {
$.fn.enable = function (delay) {
console.log(delay); //logs 3000
setTimeout(function (elem) {
console.log(elem);
elem.css("opacity", "1");
}(this), delay);
return this;
};
})(jQuery);
如你所知,這聲明對於JQuery的對象enable
功能。現在,當我打電話是這樣的:
$("#start").enable(3000);
功能enable
運行,但裏面的代碼function (elem)...
立即運行,而不是在運行一段時間後!
如何和爲什麼?
如果你用'(this)'結束了你的匿名函數,那麼你傳入的是返回值,而不是函數。 – sje397 2014-09-27 09:07:41