gpt4 book ai didi

jquery - 如何在另一种方法中使用 jQuery 插件初始化选项?

转载 作者:行者123 更新时间:2023-12-01 07:23:16 25 4
gpt4 key购买 nike

假设这是插件的初始化:

        $(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 中正在调用的元素的数量:

return this.each(function() {
$(this).data('fname-options', options);
// Code...
});

以便您稍后可以通过其他方法访问它:

expand: function() {
return this.each(function() {
var $this = $(this),
options = $this.data('fname-options');

$this.children('li').slideDown(options.animSpeed);
});
}

关于jquery - 如何在另一种方法中使用 jQuery 插件初始化选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11572343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com