gpt4 book ai didi

jQuery 插件 : Making a function on '$'

转载 作者:行者123 更新时间:2023-12-01 00:10:31 27 4
gpt4 key购买 nike

我制作了一个小的滚动条 jQuery 插件。它有一个非常标准的实现:$(selector).drollScroll({options});,并带有默认值。诀窍是,我希望用户能够提前设置这些默认值,以便对于较大的网站(我正在为更大的网站开发这个), future 的用户可以轻松获得相同的滚动条,而无需每次都指定参数.

真的希望允许用户在不首先实例化 jQuery 对象的情况下执行此操作,因此可以通过 $.drollScrollDefaults({options}).

到目前为止我有这个:

(精简为仅提供阅读乐趣的必需品)

(function($)
{
var defaults = {
content : ".drollScrollBowl",
scrollBoxClassName : "drollScrollShoal",
scrollbarClassName : "drollScrollPole",
thumbClassName : "drollScrollTrollThumb",
scrollbarOpacity : 1,
scrollbarFadeTime : 300,
scrollbarTimeToLive : 1000,
alwaysVisible : true,
autoFade : false,
overrideBoxStyling : false,
overrideBarStyling : false,
overrideThumbStyling : false,
scrollWidthConstant : false
};

$.drollScrollDefaults = function(options)
{
$.extend(defaults, options);
};

$.fn.drollScroll = function(options)
{
var opts;

return this.each(function()
{
// we want opts to be its own object in case someone edits it later
opts = $.extend({}, defaults, options);

$(this).data("drollScroll", {options : opts});
});
};
})(jQuery);

现在这确实有效,但是这条

$.drollScrollDefaults = function(options)

说真的,这不可能是应该的方式。感觉被黑客入侵了;我觉得我一定做错了,就像我应该使用 $ 或其他东西的(对我来说完全神秘的)原型(prototype)。 是这个吗?我已经说对了吗?实现这一目标的最佳方法是什么?我应该这样做吗!?

最佳答案

我没有发现它有什么问题,它并不比分配全局函数更糟糕,例如我使用 window.number_format (我构建了自己的工具包)。由于您希望用户能够调用 $.drollScrollDefaults,因此您应该指定该值。

关于jQuery 插件 : Making a function on '$' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17601910/

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