Kneifen den Code aus dem Beispielseite von Soh Tanaka, dass Sie in Ihrem Artikel verweisen:
$(document).ready(function() {
//When page loads...
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active ID content
return false;
});
});
Der kritische Bit ist, den Code zu beheben, nur auf die aktuelle Registerkarte Gruppe für die Zwecke beziehen Schalt zwischen den Tabs. Dies wird erreicht, indem sichergestellt wird, dass, wo der globale Kontext nicht erwünscht ist, nur die lokale Gruppe, wir den Selektor ändern. Wenn man von einer Reihe von Tabs auf ihren Inhalt verweist, ist das Problem, wie man sie miteinander abgleicht, dies kann entweder mit einem gewöhnlichen ID-System geschehen, oder wenn Tabs ihren Inhalt vorausgehen, ohne sich zu überlappen, dann können wir das tun Suchen Sie einfach die nächsten tab_container
aus einem Tab-Set.
Zuerst Initialisierung:
$(".tab_content").hide();
Gut, wollen wir alle von ihnen verstecken.
$("ul.tabs li:first").addClass("active");
$(".tab_content:first").show();
Nicht gut, dies würde sich auf alle Registerkartengruppen auf der Seite beziehen, muss spezifisch sein.
$("ul.tabs").each(function() {
$(this).find('li:first').addClass("active");
$(this).nextAll('.tab_container:first').find('.tab_content:first').show();
});
Die .click()
Veranstaltung beginnt in Ordnung aus, verbindliche alle ul.tabs li
in Ordnung ist. Darin müssen die Selektoren geändert werden.
$("ul.tabs li").click(function() {
var cTab = $(this).closest('li');
cTab.siblings('li').removeClass("active");
cTab.addClass("active");
cTab.closest('ul.tabs').nextAll('.tab_container:first').find('.tab_content').hide();
var activeTab = $(this).attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active ID content
return false;
});
Der letzte Abschnitt mit den activeTab
ist schon in Ordnung, nur vorsichtig sein IDs nicht wieder zu verwenden.
Siehe Demo:http://jsfiddle.net/uyvUZ/1/
Optisch leichter, aber verschiedene Demo:http://jsfiddle.net/uyvUZ/2/
Sie richtig sind. – ClosDesign
Link keine Arbeit :( – pete