/ Published in: jQuery
                    
                                        
This plugin is the work of Stefan Gabos, all credit, rights, and praise to be directed to him here: http://stefangabos.ro/jquery/jquery-plugin-boilerplate/
                
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
//
// A jQuery plugin template
//
// Author: Stefan Gabos
//
// Website: http://stefangabos.ro/
//
// Changelog
//
// 2011-04-25 1.0 - Initial release
//
// Read more about jQuery plugin authoring at
// http://docs.jquery.com/Plugins/Authoring
//
// remember to change every instance of "pluginName" to the name of your plugin!
// read more about plugin authoring at
(function($) {
// here it goes!
$.fn.pluginName = function(method) {
// plugin's default options
var options = {
foo: 'bar'
}
// public methods
// to keep the $.fn namespace uncluttered, collect all of the plugin's methods in an object literal and call them
// by passing the string name of the method to the plugin
//
// public methods can be called as
// $(selector).pluginName('methodName', arg1, arg2, ... argn)
// where "pluginName" is the name of your plugin and "methodName" is the name of a function available in the
// "methods" object below; arg1 ... argn are arguments to be passed to the method
//
// or, from within the plugin itself, as
// methods.methodName(arg1, arg2, ... argn)
// where "methodName" is the name of a function available in the "methods" object below
var methods = {
// this the constructor method that gets called when the object is created
init : function(config) {
// iterate through all the DOM elements we are attaching the plugin to
return this.each(function() {
// if custom configuration options are provided, update default values
if (config) { $.extend(options, config) }
// "element" holds the jQuery object of the current DOM element
var element = $(this);
// code goes here
});
},
// a public method. for demonstration purposes only - remove it!
foo_public_method: function() {
// code goes here
}
}
// private methods
// these methods can be called only from within the plugin
//
// private methods can be called as
// helpers.methodName(arg1, arg2, ... argn)
// where "methodName" is the name of a function available in the "helpers" object below; arg1 ... argn are
// arguments to be passed to the method
var helpers = {
// a private method. for demonstration purposes only - remove it!
foo_private_method: function() {
// code goes here
}
}
// if a method as the given argument exists
// (ignore the "init" method which should not be called manually)
if (methods[method] && method.toLowerCase() != 'init') {
// call the respective method
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
// if an object is given as method OR nothing is given as argument
} else if (typeof method === 'object' || !method) {
// call the initialization method
return methods.init.apply(this, arguments);
// otherwise
} else {
// trigger an error
$.error( 'Method "' + method + '" does not exist in PluginName plugin!');
}
}
})(jQuery);
URL: http://stefangabos.ro/jquery/jquery-plugin-boilerplate/
Comments
 Subscribe to comments
                    Subscribe to comments
                
                