Sha256: 9f8d0f27b13acf0f6899ffa7f6d7c5c28c732e8fc751d7e7912bc613bab5a55a
Contents?: true
Size: 1.54 KB
Versions: 6
Compression:
Stored size: 1.54 KB
Contents
// Simple, unobtrusive tab widget // Written by Daniel Mendler (function($) { "use strict"; $.fn.tabWidget = function(options) { var store = options && options.store; var selected = null; $("> a[href^='#']", this).click(function() { // Handle tab clicks if (selected.data('tab') == $(this).data('tab')) { return false; } if (!selected.data('tab').confirmUnsaved()) { return false; } selected.data('tab').hide(); selected.parent().removeClass('selected'); selected = $(this); selected.data('tab').show(); selected.parent().addClass('selected'); if (store) { $.storage.set(store, selected.data('tab').attr('id')); } return false; }).each(function() { // Hide tabs var tab = $(this.href.match(/(#.*)$/)[1]); tab.hide(); $(this).data('tab', tab); }); // Get selected tab from store if (store) { var name = $.storage.get(store); if (name) { selected = $("> a[href='#" + name + "']", this); } } // Get selected tab by class if (!selected || selected.size() === 0) { selected = $(this).filter('.selected').find("> a[href^='#']"); } // Select first tab if (!selected || selected.size() === 0) { selected = $(this).filter(':first').find("> a[href^='#']"); } $(this).removeClass('selected'); // Show initially selected tab if (selected && selected.data('tab')) { selected.parent().addClass('selected'); selected.data('tab').show(); } }; })(jQuery);
Version data entries
6 entries across 6 versions & 1 rubygems