我是jquery插件的新手。我需要指定totalWidth作为选项,以便我可以根据需要更改scrollWidth。有人能帮助我吗?
(function( $ ) {
$.fn.scrollAnimation = function(options) {
var totalWidth;
var settings = $.extend( {
'totalWidth' :'totalWidth'
}, options);
return this.each(function() {
var element = $(this);
var offset_1 = $("ul li.list:first-child",element).position().left;
var offset_2 = $("ul li.list:nth-child(2)",element).position().left;
var totalWidth =(offset_2-offset_1);
$(".abc",element).click(function() {
$(".images",element).not(":animated").animate({"scrollLeft":"-="+totalWidth},300);
return false;
});
$(".def",element).click(function() {
$(".images",element).not(":animated").animate({"scrollLeft":"+="+totalWidth},300);
return false;
});
});
};
})( jQuery );
答案 0 :(得分:0)
像这样添加设置到您的插件
$.fn.scrollAnimation.settings={property:'value',totalWidth:'somevalue'};
这将是插件的默认设置。
您可以使用$ .extend将用户给定选项和$ .fn.scrollAnimation.settings的属性合并到一个对象中,该对象优先于用户给定的选项
$.extend({},$.fn.scrollAnimation.settings,options);
所以你的更新代码就像
(function( $ ,win, doc) {
$.fn.scrollAnimation = function(options) {
var totalWidth;
var localsettings = $.extend( {},$.fn.scrollAnimation.settings,options);
...
...
...
};
$.fn.scrollAnimation.settings={property:'value',totalWidth:'somevalue'};
})( jQuery ,window,document,undefined);