海伊家伙,我正在做一个简单的预载功能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