不在此处发布整个功能,但基本前提是我尝试使用选项创建插件。我不想重写函数的整个结构,现在我已经谷歌搜索了两个小时而没有任何运气。
这就是现在的样子:
function slider($rotator_container, settings) {
var settings = {
auto_rotate : false,
auto_rotate_speed : 1000,
transition_support : true //Disable this to use JQuery animations only
}
};
我正在使用以下内容调用变量:
slider("main-slider", {auto_rotate:true, auto_rotate_speed:5000});
如果我将对象的减速和默认值放在我的函数之外,这是有效的,但问题是我在页面上多次调用它,因此它不需要是全局的。我该怎么做?我需要重写整个函数吗?
答案 0 :(得分:2)
为了拥有默认选项,您应该使用$ .extend
扩展选项(function($){
jQuery.fn.extend({
// Plugin Name
slider: function(options) {
// Defaults options are set here
// Every default goes within the { } brackets as seen below
// A comma separates the different values
var defaults = {
auto_rotate : false,
auto_rotate_speed : 1000,
transition_support : true
};
var options = $.extend(defaults, options);
return this.each(function() {
});
}
});
})(jQuery);
然后你可以打电话给
$("div").slider(auto_rotate : true});
在您的情况下,您可以按如下方式扩展对象
function slider($rotator_container, settings) {
var defaultsettings = {
auto_rotate : false,
auto_rotate_speed : 1000,
transition_support : true //Disable this to use JQuery animations only
};
$.extend( defaultsettings, settings );
)