Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here's a template I've found on the Internet and that I'm using to not start from scratch...</p> <pre><code>// keep all your code in a closure (function($) { // name your plugin - try to make it unique $.fn.wTooltip = function(option, settings) { // check if user is setting/getting properties manually after plugin creation if(typeof option === 'object') { settings = option; } else if(typeof option === 'string') { var data = this.data('_wTooltip'); // this will check if plugin has already been initialized for this element if(data) { if($.fn.wTooltip.defaultSettings[option] !== undefined) { if(settings !== undefined){ if(option == 'title') data.content.html(settings); data.settings[option] = settings; return true; } else return data.settings[option]; } else return false; } else return false; } // extend user settings with default settings settings = $.extend({}, $.fn.wTooltip.defaultSettings, settings || {}); // iterate through all elements and return them to maintain jQuery method chaining return this.each(function() { var elem = $(this); // create copy of settings object allowing us to make individual adjustments // this ensures that only values for current element are changed var $settings = jQuery.extend(true, {}, settings); $settings.title = settings.title || elem.attr('title') || 'No title set'; // create a tooltip object var tooltip = new Tooltip($settings); // we would typically run our generation code here tooltip.generate(); // run some code here // try to keep as much of the main code in the prototype methods as possible // focus on just setting up the plugin and calling proper methods from here // store the tooltip object for later reference - setters/getters elem.data('_wTooltip', tooltip); }); } // provide default settings // setting it up like this allows a developer to modify defaults like so: // $.fn.wTooltip.defaultSettings.color = 'white'; $.fn.wTooltip.defaultSettings = { position : 'mouse', color : 'black' }; // create our tooltip "class" // this will store the unique individual properties for each tooltip function Tooltip(settings) { this.tooltip = null; this.settings = settings; return this; } // prototype the tooltip class // this will contain methods shared amongst all tooltips // DO NOT keep any unique tooltip properties here Tooltip.prototype = { generate: function() { // use local reference of this // this will be important when using in other closures like event closures var $this = this; // return the tooltip in case its already been defined for the current element if($this.tooltip) return $this.tooltip; //code }, someFunc: function() { //code } } })(jQuery); </code></pre> <p><strong>wTooltip</strong> is the name you should personalize to create a unique plugin</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload