Flexitabs 1.1-jQuery用のシンプルで柔軟なタブスクリプト

タブの基本機能を提供するjQueryスクリプトは軽量で非常に柔軟です。 また、スクリプトには表現(デザイン)を含めないでください。また、DOMは有効である必要があります。 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);

スクリプトは非破壊的で、いわゆる 目立たない。 CSSセレクターでDOMにしがみついています。 作成するときに、オプションを使用してJSONを渡すことができるため、デフォルトのセレクターをオーバーライドできます。 柔軟性は、さまざまなオプションを使用してページ上に任意の数のFlexitabs「クラス」オブジェクトを作成することです。

jQueryを接続した後、ヘッドのスクリプトを接続するだけで十分です。 そして、以下のレイアウトはよりシンプルなHTMLの例です。
  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 >

この例は意味的にはより正確ですが、レイアウトはより困難です:
  1. < スクリプト タイプ = "text / javascript" >
  2. $( 関数 (){
  3. 新しい Flexitabs({
  4. tabSelector: 'dt'
  5. contentSelector: 'dd'
  6. });
  7. });
  8. </ スクリプト >
  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 >

CSSに最低限必要なのは、ディスプレイを記述することです。タブコンテンツのあるブロックには何もありません。「非アクティブ」クラスがあります。

UPD 1.1:ネストされたタブのサポートが追加されました-HTMLはまったく同じで、機能はありません。機能します:)すぐに例があります...ホスティングの問題を解決する方法。


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


All Articles