📜 ⬆️ ⬇️

Flexitabs 1.1 - a simple and flexible tab script on jQuery

The jQuery script, which provides the basic functionality of tabs, is low in weight and very flexible. Also, the script should not contain any representation (design) and the DOM must be valid, i.e. no fictional attributes in the DOM.

  1. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  2. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  3. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  4. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  5. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  6. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  7. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  8. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  9. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  10. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  11. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  12. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  13. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  14. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  15. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  16. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  17. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  18. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  19. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  20. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  21. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  22. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  23. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  24. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  25. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  26. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  27. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  28. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  29. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  30. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  31. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  32. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  33. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  34. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  35. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  36. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  37. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  38. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  39. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  40. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  41. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  42. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  43. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  44. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  45. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  46. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  47. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  48. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  49. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  50. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  51. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  52. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  53. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  54. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  55. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  56. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  57. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  58. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  59. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  60. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  61. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  62. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  63. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  64. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  65. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  66. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  67. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  68. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  69. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  70. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);
  71. ( function ($) { var Flexitabs = function (options) { this .defaults = { //CSS-selectors of target elements in DOM for unobtrusive attaching containerSelector: '.flexitabs' , tabSelector: '.tab' , contentSelector: '.content' , //CSS classes for indicate active and inactive tabs and contents of tabs activeLinkClass: 'active' , //also class for marking initial active tab in your HTML inactiveLinkClass: 'inactive' } this .initialize = function () { var flexitabs_object = this ; $( this .containerSelector).each( function () { var storage = {}; storage. object = this ; //finding tabs and it's contents in DOM storage.tabs = $.grep($( this ).find(flexitabs_object.tabSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); storage.contents = $.grep($( this ).find(flexitabs_object.contentSelector), function (tab) { if ($(tab).parents(flexitabs_object.containerSelector)[0] == storage. object ) return true ; }); if (storage.tabs.length <= storage.contents.length) { //avoiding nonfunctional tabs var active = 0; var container = $( this ); $(storage.tabs).each( function (i) { //initializing storage for tabs and contents var tab_storage = {}; var content_storage = {}; tab_storage. object = content_storage. object = container; tab_storage.index = content_storage.index = i; //bind click handler to tabs $( this ).click( function () { flexitabs_object.activate( this ); }); //preselecting active tab from DOM if ($( this ).hasClass(flexitabs_object.activeLinkClass)) active = i; //storing data in jQuery data-storages, assigned to DOM-elements $(storage.tabs[i]).data( 'Flexitabs' , tab_storage); $(storage.contents[i]).data( 'Flexitabs' , content_storage); }); storage.active = active; container.data( 'Flexitabs' , storage); //storing whole tabulator data in container storage flexitabs_object.activate(storage.tabs[active]); //initial tab activation } }); } this .activate = function (tab) { var index = $(tab).data( 'Flexitabs' ).index; var storage = $(tab).data( 'Flexitabs' ). object ; var tabs_storage = $(storage).data( 'Flexitabs' ).tabs; var contents_storage = $(storage).data( 'Flexitabs' ).contents; //deactivation of all tabs and contents $(tabs_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); $(contents_storage).removeClass( this .activeLinkClass).addClass( this .inactiveLinkClass); //activation of current clicked tab $(tab).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); $(contents_storage[index]).removeClass( this .inactiveLinkClass).addClass( this .activeLinkClass); storage.active = index; } $.extend( this , this .defaults, options); this .initialize(); }; $( function () { new Flexitabs(); }) })(jQuery);

Non-destructive script, so-called unobtrusive. It clings to DOM using CSS selectors. When creating, you can send JSON with options, thus overriding the default values ​​of the selectors. Flexibility is to create an arbitrary number of objects "class" Flexitabs on the page with different options.

The script is enough to connect in the hede after connecting jQuery. And here is an example of simpler HTML in the further layout:
  1. < div class = "flexitabs" >
  2. < div class = "tabs" >
  3. < div class = "tab" > Tab1 </ div >
  4. < div class = "tab" > tab2 </ div >
  5. < div class = "tab" > Tab3 </ div >
  6. </ div >
  7. < div class = "contents" >
  8. < div class = "content" > Content1 </ div >
  9. < div class = "content" > Content2 </ div >
  10. < div class = "content" > Content3 </ div >
  11. </ div >
  12. </ div >

This example is semantically more correct, but more difficult in layout:
  1. < script type = "text / javascript" >
  2. $ ( function () {
  3. new Flexitabs ({
  4. tabSelector: 'dt' ,
  5. contentSelector: 'dd' ,
  6. });
  7. });
  8. </ script >
  9. < dl class = "flexitabs" >
  10. < dt > Tab1 </ dt >
  11. < dd > Content1 </ dd >
  12. < dt > Tab2 </ dt >
  13. < dd > Content2 </ dd >
  14. < dt > Tab3 </ dt >
  15. < dd > Content3 </ dd >
  16. </ dl >

The minimum that is required in CSS is to prescribe display: none for blocks with content of tabs, they will have the class “inactive”.

UPD 1.1: Added support for nested tabs - HTML is exactly the same, no features, it just works :) Soon there will be examples ... how to solve the issue with hosting.

')

Source: https://habr.com/ru/post/76266/


All Articles