1jQuery.gtabs = { 2 'pane_selector':'.gpane', 3 'tab_selector':'.gtab', 4 'active_pane_class':'active', 5 'active_tab_class':'active', 6}; 7 8(function($){ 9 $.fn.gtabs = function(options, params){ 10 if(this.length > 0){ 11 if($.type(params) === 'undefined' && $.type(options) === 'object'){ 12 params = options; 13 } 14 15 if($.type(options) === 'undefined' || $.type(options) === 'object'){ 16 params = $.extend(true, {}, $.gtabs, params); 17 return this.each(function(){ 18 if(!$(this).data('gtabs')){ 19 $(this).data('gtabs', new GTabs(this, params)); 20 } 21 }); 22 } 23 24 if($.type(options) === 'string'){ 25 params = $.extend(true, {}, $.gtabs, params); 26 27 var tabs = $(this).data('gtabs'); 28 29 switch (options){ 30 case 'get': 31 return tabs.get(); 32 } 33 } 34 } 35 } 36 37 var GTabs = function(elem, params){ 38 this.element = elem; 39 this.settings = params; 40 41 this.init(); 42 }; 43 44 GTabs.prototype = { 45 init: function(){ 46 var tabs = this; 47 //hide pans without the active class 48 $(tabs.settings.pane_selector).not('.'+tabs.settings.active_pane_class).hide(); 49 $(tabs.settings.pane_selector).filter('.'+tabs.settings.active_pane_class).show(); 50 51 $(tabs.element).on('click', 'a'+tabs.settings.tab_selector, function(e){ 52 var $a = $(this); 53 var $li = $a.parent(); 54 e.preventDefault(); 55 //activate tab 56 $(tabs.element).children('li').removeClass(tabs.settings.active_tab_class); 57 $li.addClass(tabs.settings.active_tab_class); 58 //activate pane 59 $(tabs.settings.pane_selector + $a.attr('href')).parent().children(tabs.settings.pane_selector).hide(); 60 $(tabs.settings.pane_selector + $a.attr('href')).parent().children(tabs.settings.pane_selector).removeClass(tabs.settings.active_pane_class); 61 $(tabs.settings.pane_selector + $a.attr('href')).show(); 62 $(tabs.settings.pane_selector + $a.attr('href')).addClass(tabs.settings.active_pane_class); 63 }); 64 }, 65 66 get: function(){ 67 var tabs = this; 68 return tabs; 69 }, 70 71 show: function(tab_link){ 72 var tabs = this; 73 tab_link.trigger('click'); 74 }, 75 76 }; 77}(jQuery));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.