gpt4 book ai didi

javascript - Number 作为默认的 jquery 插件选项

转载 作者:行者123 更新时间:2023-12-02 18:07:39 25 4
gpt4 key购买 nike

我有一个小问题。我设置了一些 jquery 插件默认设置:

defaults = {
insdElmnts: 'img',
cursorDistance : 10
};
function plugin (options) {
this.settings = $.extend({}, defaults, options);
}

我尝试将这个与 cursorDistance 一起使用,如下所示:

_mark.css({
left: 10 - this.settings.cursorDistance,
top: 10 - this.settings.cursorDistance
});

但我有一些错误:无法读取未定义的属性“cursorDistance”。有什么不对吗?我需要添加一些单位吗?谢谢帮助。

最佳答案

1) 如果您开发 jquery 插件 - 其中的“this”表示“jquery 集合”。当你调用 $(".element_class").plugin(); 时- 在插件函数内部,这将等于 $(".element_class")。要访问集合的每个元素 - 您应该使用 .each()。

2) 使用.data()方法将一些数据与html元素关联起来。插件示例:

(function($){  
var defaults = {
insdElmnts: 'img',
cursorDistance : 10
};

$.fn.pluginName= function(options) {
//here "this" means "jquery collection"
return this.each(function () {
//here "this" means "html element"
var el = $(this);
el.data("settings", $.extend({}, defaults, options));
/** do here something that you need **/
});
};
})(jQuery);

3)使用.data方法从插件外部提取数据:

_mark.css({
left: 10 - _mark.data("settings").cursorDistance,
top: 10 - _mark.data("settings").cursorDistance
});

但最好尝试编写好的插件来自行完成所有需要的工作。

关于javascript - Number 作为默认的 jquery 插件选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966037/

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