1
比方說,這是插件的初始化:如何在另一種方法中使用jQuery插件init選項?
$(document).ready(function() {
$("#tree").fname({
animSpeed: 0
});
});
現在,我想調用另一個方法,並仍然保持這種animSpeed值:
$('#tree').fname('expand');
然而,我當前的代碼,該animSpeed值會丟失,並且在擴展方法調用中使用默認值(它在init中工作)。我怎麼能改變這個?
目前代碼:
;(function($){
$.fn.fname = function(method) {
var defaults = {
animSpeed : 'fast'
};
var option = {};
var methods = {
init: function(options) {
option = $.extend(defaults, options);
return this.each(function() {
code...
});
},
expand: function() {
return this.each(function() {
$(this).children('li').slideDown(option.animSpeed);
});
}
};
};
}(jQuery));
謝謝,完美的作品。我從來沒有使用過.data()。似乎是一個非常有用的功能,我必須添加到我的武庫。 – Chris 2012-07-20 03:27:50