Chcę, aby zakładki znajdowały się po lewej stronie strony, a nie u góry. Już ładuję jQuery z innych powodów (efektów), więc wolę używać jQuery do innego frameworka UI. Wyszukiwanie w „pionowych kartach jquery” daje linki do prac w toku.
Czy tworzenie pionowych zakładek w różnych przeglądarkach jest najeżone, czy jest to tak trywialne, że gdy masz już rozwiązanie, nie warto publikować przykładowego kodu?
źródło
Stworzyłem pionowe menu i zakładki zmieniające się na środku strony. Zmieniłem dwa słowa w źródle kodu i rozdzieliłem dwa różne elementy div
menu:
<div class="arrowgreen"> <ul class="tabNavigation"> <li> <a href="#first" title="Home">Tab 1</a></li> <li> <a href="#secund" title="Home">Tab 2</a></li> </ul> </div>
zadowolony:
<div class="pages"> <div id="first"> CONTENT 1 </div> <div id="secund"> CONTENT 2 </div> </div>
kod działa z oddzielnymi elementami div
$(function () { var tabContainers = $('div.pages > div'); $('div.arrowgreen ul.tabNavigation a').click(function () { tabContainers.hide().filter(this.hash).show(); $('div.arrowgreen ul.tabNavigation a').removeClass('selected'); $(this).addClass('selected'); return false; }).filter(':first').click(); });
źródło
//o_O\\ (Poker Face) i know its late
po prostu dodaj poniżej styl css
<style type="text/css"> /* Vertical Tabs ----------------------------------*/ .ui-tabs-vertical { width: 55em; } .ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 12em; } .ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; } .ui-tabs-vertical .ui-tabs-nav li a { display:block; } .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; border-right-width: 1px; } .ui-tabs-vertical .ui-tabs-panel { padding: 1em; float: right; width: 40em;} </style>
AKTUALIZACJA! http://jqueryui.com/tabs/#vertical
źródło
Nie spodziewałbym się, że karty pionowe będą wymagały innego JavaScript niż karty poziome. Jedyną rzeczą, która byłaby inna, jest CSS do prezentowania zakładek i treści na stronie. JS dla zakładek generalnie nie więcej niż pokazuje / ukrywa / może ładować zawartość.
źródło
Inną opcją jest wtyczka jQuery mb.extruder tabs Matteo Bicocchi: http://pupunzi.open-lab.com/mb-jquery-components/jquery-mb-extruder/
źródło
Spójrz na Listamatic . Karty są semantycznie tylko listą elementów stylizowanych w określony sposób. Nie potrzebujesz nawet javascript, aby pionowe zakładki działały, jak pokazują różne przykłady w Listamatic.
źródło
super prosta funkcja, która pozwoli ci stworzyć własną strukturę tabulatorów / akordeonów tutaj: http://jsfiddle.net/nabeezy/v36DF/
bindSets = function (tabClass, tabClassActive, contentClass, contentClassHidden) { //Dependent on jQuery //PARAMETERS //tabClass: 'the class name of the DOM elements that will be clicked', //tabClassActive: 'the class name that will be applied to the active tabClass element when clicked (must write your own css)', //contentClass: 'the class name of the DOM elements that will be modified when the corresponding tab is clicked', //contentClassHidden: 'the class name that will be applied to all contentClass elements except the active one (must write your own css)', //MUST call bindSets() after dom has rendered var tabs = $('.' + tabClass); var tabContent = $('.' + contentClass); if(tabs.length !== tabContent.length){console.log('JS bindSets: sets contain a different number of elements')}; tabs.each(function (index) { this.matchedElement = tabContent[index]; $(this).click(function () { tabs.each(function () { this.classList.remove(tabClassActive); }); tabContent.each(function () { this.classList.add(contentClassHidden); }); this.classList.add(tabClassActive); this.matchedElement.classList.remove(contentClassHidden); }); }) tabContent.each(function () { this.classList.add(contentClassHidden); }); //tabs[0].click(); } bindSets('tabs','active','content','hidden');
źródło