海伊傢伙,我正在做一個簡單的預載功能jQuery的傳遞變量的函數
(function($) {
$.fn.preload = function(settings) {
var config = {
before: function(){ return; },
end: function(){ return; },
after: function(a){ return; }
};
if (settings) $.extend(config, settings);
var limit = this.length - 1;
var counter = 0;
settings.before();
is_last_done = function(i){if (i == limit) return true;};
this.each(function(i, src){
$("<img>").attr("src", src).load(function(){
if(a == counter) settings.after();
if(is_last_done(i)) settings.end(); // Last is done
counter++;
});
});
return this;
};
})(jQuery);
與
img = ['a.jpg', 'b.jpg', 'b.jpg'];
a = 1;
$(img).preload({
before: function(){ return; },
end: function(){ },
after: function(a){
console.log('first done');
}
});
問題調用它是在「A」變量傳遞即時消息到'after()'函數沒有被傳遞。
插件我可以用「一個」訪問變量,喜歡上了這行
if(a == counter) settings.after();
裏面的「a」是速效,但是如果我想說出別的東西的一個變量是什麼?我如何訪問after()函數的參數?
如果我使用這個代碼
IMG = [ 'A.JPG', 'B.JPG', 'B.JPG']我的代碼將不再有效;
b = 1;
$(img).preload({
before: function(){ return; },
end: function(){ },
after: function(b){
console.log('first done');
}
});
b不通過,有什麼想法嗎?
感謝
我想要的是能夠將int傳遞到after()函數,並在我的插件中調用它,而不管它的名稱如何。 – dotty 2010-02-18 15:29:02