嘿,我一直在开发一个 jquery 插件,比如fancybox,用于点击时全屏显示图像。
我遇到的问题是我希望能够使用不同的元素多次调用插件并给它们自己定义的设置。
就像下面每个id都有自己的fadeIn时间
-> ("#id1").fadeIn(200);
-> ("#id2").fadeIn(400);
有什么方法可以做到这一点,因为我想让它完美地工作:D
带有图像框示例的设置元素:
// Two jQuery Calls with different settings.
$('.smallImage img').imageBox({
'transition' : 'fadeIn',
'cursor' : 'pointer',
'gallery' : 'on'
});
$('.bigImage img').imageBox({
'transition' : 'fadeIn',
'cursor' : 'pointer',
'gallery' : 'off'
});
(function( $ ){
// Grab plugin settings sent from call - took from jquery developers area.
$.fn.imageBox = function( method ) {
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments ); // Sends settings through here.
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
};
var settings;
var methods = {
init : function( options ) {
settings = $.extend({
'transition' : "fadeIn",
'cursor' : 'pointer',
'gallery' : 'on'
}, options);
}
}
})( jQuery );
想法将不胜感激,谢谢。