Haben Sie jemals einen getaggten Inhaltsbereich in einer Seitenleiste gesehen, der ein wenig „ruckartig“ war? Das Ruckeln kann durch eine Reihe von Dingen verursacht werden, z. B. dass die Inhalte in den Tab-Bereichen unterschiedliche Höhen haben, oder vielleicht, wie der Wechsel passiert, wird das aktuelle Element für einen kurzen Moment ausgeblendet, bevor das neue erscheint, und der Inhalt darunter springt schnell auf und wieder ab. Mangels eines besseren Begriffs nenne ich Tabs, die sich flüssiger verhalten, organische Tabs.
Finale Demo
Sehen Sie den Pen
jQuery Organic Tabs von Chris Coyier (@chriscoyier)
auf CodePen.
Der Plan
Der Plan ist, einen Tab-Bereich zu erstellen, der ziemlich einfach mit jQuery von Grund auf neu zu machen ist, und ihn dann besser funktionieren zu lassen. Natürlich halten wir es einfach und halten das Markup sauber und semantisch. Das Herzstück der Funktionalität wird auf der Berechnung von Höhen und dem Animieren zwischen diesen Höhen im laufenden Betrieb basieren.

Da es denkbar ist, dass man mehrere Tab-Bereiche auf einer Seite haben möchte, machen wir daraus ein jQuery-Plugin, damit es einfach auf mehrere Elemente angewendet werden kann.
Das HTML
Zuerst haben wir ein Wrapper-Element, das den gesamten Tab-Inhaltsbereich umschließt. Dies schließt alles schön ein und bietet ein gutes Ziel für das jQuery-Plugin. Innen haben wir eine ungeordnete Liste für die Tabs (Navigation) selbst. Diese Tabs habenhrefAttribute, die den IDs der unten aufgeführten ungeordneten Listen entsprechen, auf die sie sich beziehen. Der Inhalt der Tabs ist ein weiterer Wrapper-Div mit der Klasse „list-wrap“. Jedes der „Panels“ ist eine ungeordnete Liste. Der Schlüssel hier ist wirklich der „list-wrap“, der uns letztendlich ein gutes Ziel für das Einstellen und Animieren der Höhe des Inhalts bietet.
<div id="example-one">
<ul class="nav">
<li class="nav-one"><a href="#featured" class="current">Featured</a></li>
<li class="nav-two"><a href="#core">Core</a></li>
<li class="nav-three"><a href="#jquerytuts">jQuery</a></li>
<li class="nav-four last"><a href="#classics">Classics</a></li>
</ul>
<div class="list-wrap">
<ul id="featured">
<li>Stuff in here!</li>
</ul>
<ul id="core" class="hide">
<li>Stuff in here!</li>
</ul>
<ul id="jquerytuts" class="hide">
<li>Stuff in here!</li>
</ul>
<ul id="classics" class="hide">
<li>Stuff in here!</li>
</ul>
</div> <!-- END List Wrap -->
</div> <!-- END Organic Tabs (Example One) -->
Das CSS
Hier gibt es nicht viel Trickreiche, nur die Einrichtung, damit alles richtig aussieht. Nur sehr wenig davon ist für das Funktionieren des Plugins/der Technik „erforderlich“, also können Sie hier gerne Ihre eigene Gestaltung rocken. Meine erste Demo ist nur eine horizontale Reihe von Tabs, von denen jeder seine eigene spezielle Rollover-Farbe hat.
/* Specific to example one */
#example-one { background: #eee; padding: 10px; margin: 0 0 15px 0; -moz-box-shadow: 0 0 5px #666; -webkit-box-shadow: 0 0 5px #666; }
#example-one .nav { overflow: hidden; margin: 0 0 10px 0; }
#example-one .nav li { width: 97px; float: left; margin: 0 10px 0 0; }
#example-one .nav li.last { margin-right: 0; }
#example-one .nav li a { display: block; padding: 5px; background: #959290; color: white; font-size: 10px; text-align: center; border: 0; }
#example-one .nav li a:hover { background-color: #111; }
#example-one ul { list-style: none; }
#example-one ul li a { display: block; border-bottom: 1px solid #666; padding: 4px; color: #666; }
#example-one ul li a:hover, #example-one ul li a:focus { background: #fe4902; color: white; }
#example-one ul li:last-child a { border: none; }
#example-one li.nav-one a.current, ul.featured li a:hover { background-color: #0575f4; color: white; }
#example-one li.nav-two a.current, ul.core li a:hover { background-color: #d30000; color: white; }
#example-one li.nav-three a.current, ul.jquerytuts li a:hover { background-color: #8d01b0; color: white; }
#example-one li.nav-four a.current, ul.classics li a:hover { background-color: #FE4902; color: white; }
Es gibt jedoch eine generell nützliche Technik, die wir anwenden. Wir müssen alle Inhaltsbereiche ausblenden, außer dem Standardbereich. Es gibt viele Möglichkeiten, wie wir das tun könnten. Wir könntendisplay: nonein CSS verwenden. Wir könnten die.hide()Funktion in JavaScript verwenden. Beide Wege haben Nachteile. Das Ausblenden in CSS bedeutet Barrierefreiheitsprobleme. Das Ausblenden in JavaScript bedeutet, dass die Bereiche möglicherweise kurz angezeigt werden, wenn die Seite geladen wird, und dann unbeholfen verschwinden. Stattdessen können wir eine Kombination aus beidem verwenden.
/* Generic Utility */
.hide { position: absolute; top: -9999px; left: -9999px; }
Schauen Sie dann im untenstehenden jQuery-Plugin-Code nach, wir setzen diese Werte wieder auf „normal“ und blenden sie mit JavaScript aus, sodass sie bereit sind, angezeigt zu werden, wenn sie benötigt werden (nicht weit weg von der Seite geschoben).
Das jQuery
Das ist der Plan in klaren Worten für unser Plugin
- Wenn das Plugin auf ein Element angewendet wird…
- Bewegen Sie den versteckten Inhalt zurück an seinen normalen Ort
- Wenn auf einen „Tab“ geklickt wird…
- Wenn es nicht bereits der aktuelle Tab ist…
- … und nichts gerade animiert wird…
- Setzen Sie den äußeren Wrapper auf eine feste Höhe des aktuellen Inhalts
- Heben Sie den aktuell ausgewählten Tab hervor
- Aktuellen Inhalt ausblenden
- Aktuellen Inhalt einblenden
- Animieren Sie die Höhe des äußeren Wrappers auf die Höhe des neuen Inhalts
(function($) {
$.organicTabs = function(el, options) {
var base = this;
base.$el = $(el);
base.$nav = base.$el.find(".nav");
base.init = function() {
base.options = $.extend({},$.organicTabs.defaultOptions, options);
// Accessible hiding fix
$(".hide").css({
"position": "relative",
"top": 0,
"left": 0,
"display": "none"
});
base.$nav.delegate("li > a", "click", function() {
// Figure out current list via CSS class
var curList = base.$el.find("a.current").attr("href").substring(1),
// List moving to
$newList = $(this),
// Figure out ID of new list
listID = $newList.attr("href").substring(1),
// Set outer wrapper height to (static) height of current inner list
$allListWrap = base.$el.find(".list-wrap"),
curListHeight = $allListWrap.height();
$allListWrap.height(curListHeight);
if ((listID != curList) && ( base.$el.find(":animated").length == 0)) {
// Fade out current list
base.$el.find("#"+curList).fadeOut(base.options.speed, function() {
// Fade in new list on callback
base.$el.find("#"+listID).fadeIn(base.options.speed);
// Adjust outer wrapper to fit new list snuggly
var newHeight = base.$el.find("#"+listID).height();
$allListWrap.animate({
height: newHeight
});
// Remove highlighting - Add to just-clicked tab
base.$el.find(".nav li a").removeClass("current");
$newList.addClass("current");
});
}
// Don't behave like a regular link
// Stop propegation and bubbling
return false;
});
};
base.init();
};
$.organicTabs.defaultOptions = {
"speed": 300
};
$.fn.organicTabs = function(options) {
return this.each(function() {
(new $.organicTabs(this, options));
});
};
})(jQuery);
Verwendung des Plugins
Wie bei jedem anderen Plugin müssen Sie zuerst die jQuery-Bibliothek laden, dann die Plugin-Datei und dann das Plugin aufrufen.
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
<script type="text/javascript" src="js/organictabs.jquery.js"></script>
<script type='text/javascript'>
$(function() {
$("#example-one").organicTabs();
$("#example-two").organicTabs({
"speed": 200
});
});
</script>
Sie können das Plugin ohne Parameter aufrufen oder „speed“ übergeben, um die Fade-Out-/Fade-In-Animationen anzupassen.
Viel Spaß! Und denken Sie daran, die Idee ist, dass Sie dies nehmen, in Stücke hacken, tun, was immer Sie wollen, vorzugsweise reich und berühmt werden können.
Schönes Tutorial!
Toller Artikel! Einfach und elegant. Die Geschmeidigkeit verleiht ihm ein poliertes Aussehen.
Nochmals vielen Dank
Sehr schönes jQuery-Tutorial Chris!
Das ist ein fantastisches Werk, das Sie da haben!
Einfach, aber sehr schön! Lässt es wirklich gut aussehen.
Digg
Digg this!
Retweet (fixed)
Retweet Me
PS: Chris: Du solltest wirklich ein paar Social-Buttons auf diese Beiträge setzen :P
Danke, aber ich mag keine Social-Buttons. Ich habe jetzt keine Lust, mich groß darüber auszulassen.
Klingt nach einem Artikel für mich ;)
LOL… du bist so ein Purist :)
Es ist großartig zu lesen, dass du die Social-Buttons nicht magst. Sie sind so ein Chaos. Erinnerst du dich, als Artikel über den Inhalt gingen und nicht darüber, ihn überall zu verbreiten? Solche Dinge sollten meiner Meinung nach organisch sein.
„Erinnerst du dich, als Artikel über den Inhalt gingen und nicht darüber, ihn überall zu verbreiten?“
Ich bin auch kein großer Fan von den Buttons, aber verdient eine gute Idee es nicht, einem breiten Publikum zugänglich gemacht zu werden?
Ist es „organischer“, den Link an ein paar Freunde zu mailen, anstatt den Link auf Twitter zu teilen?
Danke für das Tut!!!!!!
Schönes Tut. Ich benutze DOMtabs und mochte sie nie wirklich, da es schwierig war, sie richtig zu gestalten.
Dies hingegen scheint großartig zu sein. Werde es heute in einem Projekt verwenden, das ich für einen Kunden entwerfe. DANKE :)
Sieht großartig aus. Der Effekt ist aber zu langsam.
Diese aktualisierte Version hat jetzt einen Geschwindigkeitsparameter im Plugin, um sie so schnell wie gewünscht zu machen.
Flüssig.
Frage: Gibt es eine Möglichkeit, von außerhalb der UL zu navigieren, sagen wir, einen Link zu haben, der die Seite direkt zum 3. Tab öffnet?
Ich suche jedes Mal nach Themes mit Tabs, da sie mehr Inhalt auf weniger Platz bieten. Hätte ich das früher gewusst, hätte ich eines erstellt. Danke, ich werde es zukünftig selbst in mein Theme aufnehmen.
Danke, tolles Tut! Super nützlich für WordPress-Seitenleisten…
Ich habe gerade nach einem schönen Seiten-Tab-Code gesucht, vielleicht probiere ich diesen hier aus, er sieht einfach genug zu bearbeiten aus und funktioniert wirklich gut.
Wie schwierig wäre es, ein Dropdown in einige der Listenelemente einzubauen? Ich lerne gerade erst jQuery und würde wahrscheinlich etwas wirklich Vermasseltes machen, wenn ich es versuche!
Sehr cool :-)
Könnte dies in eine WP-Seite oder einen Artikel eingefügt werden?
Ja, das könnte es.
Wirklich schön! Ich genieße deine Beiträge sehr!
Schnelle Frage: Wie ist jQuery mit SEO? Bedeutet, die versteckten Spalten, kann ein Crawler-Bot sie aufnehmen?
Das ist wirklich kreativ..!
Schön, aber wenn JavaScript deaktiviert ist, ist es nicht sehr nützlich.
Zweitens fiel mir auf, dass, wenn man schnell auf zwei Tabs klickt (wenn man nicht auf das Ende der Animation wartet), zwei Tabs geöffnet werden und es ein Durcheinander gibt.
Brillant! Vielen Dank, Mann. Ich werde heute Abend damit spielen. Tee-hee. ;-)
Vielen Dank für das Tutorial! Ich habe mir gerade Ihren „Explore“-Bereich angesehen und versucht herauszufinden, wie Sie das gemacht haben. Ich habe versucht (und kläglich versagt), dies selbst zu erstellen.
Ich muss sagen, ich bin etwas langsam, wenn es darum geht, jQuery zu verstehen. Etwas mehr Erklärung wäre super nützlich... besonders in einem nachfolgenden Screencast!
Schöne Grüße,
Jakob
Kein Klon dieses Tutorials, aber letzten Monat habe ich ein ähnliches Tab-System für die mobile Version meines Portfolios unter http://bcinarli.com/mobile erstellt und verwendet, inspiriert von der Seitenhöhenbewegung in der mobilen Version von css-tricks (https://css-tricks.de/i)
Wirklich, wirklich schönes und nützliches Tutorial.. eine fantastische Möglichkeit, keine „ruckeligen“ Tabs zu erstellen =)
Ich denke, ich werde mich daran erinnern :D
Perfektes Timing, ich wollte gerade anfangen, dieses genaue Problem mit einem meiner Projekte zu lösen!
Gut. Danke fürs Teilen.
Chris, das ist ein wirklich großartiges Tutorial und ich bin immer wieder beeindruckt von deiner Kreativität.
Danke, Michael
Chris, ich bin verwirrt von Ihrem Code, oder insbesondere von Ihrem Kommentar, d.h.
// Setze die äußere Wrapper-Höhe auf die Höhe der aktuellen inneren Listevar curListHeight = $("#all-list-wrap").height();$("#all-list-wrap").height(curListHeight);Meiner Meinung nach tut der obige Code nichts, er sollte sicherlich…
var curListHeight = $("ul#"+curList).height();$("#all-list-wrap").height(curListHeight);Außerdem müssen Sie wirklich die Höhe ermitteln, da die Animation die Höhe des Divs auf die neue UL-Höhe ändert. Vielleicht verstehe ich den Code einfach nicht richtig. Schöner Effekt aber..
Ich weiß, das scheint seltsam, aber was dort passiert, ist, dass dem äußeren Wrapper buchstäblich eine Höhe zugewiesen wird. Auf diese Weise, wenn sich der Inhalt ändert und sagen wir, er ist höher, wird der Wrapper nicht abrupt größer „ruckeln“, da eine feste Höhe darauf gesetzt ist, die dies verhindert.
Ahh… richtig, das macht mehr Sinn, erzwinge die Höhe des Divs, damit die Höhenanimation von einem garantierten Startpunkt aus durchgeführt wird. Danke Chris..
Chris,
Mir gefällt das Aussehen davon. Gibt es eine Möglichkeit, etwas Funktionalität für Leute zu schaffen, die JavaScript deaktiviert haben?
Oh wow. Das ist nett. Ich werde auf jeden Fall einen Verwendungszweck dafür finden. Ich hatte so etwas vermieden, weil ich dachte, es sei vorher so ruckelig gewesen.
Ich benutze auch den Anything Slider, der fantastisch ist.
Danke!
großartig! Ich schaue es mir sofort an!
Sehr schöne Lösung!
Danke Chris für das schöne Tut.
Was ist mit Tabs, bei denen der Inhalt die gleiche Farbe hat wie der ausgewählte Tab, was ist der Trick dabei, bitte??
Toller Artikel wie immer Chris
Gut gemacht, Chris, aber…
Ich würde gerne ein stop() auf der vorherigen Animation sehen, wenn Sie auf einen neuen Tab klicken. Testen Sie, schnell zwischen den Tabs zu klicken, und Sie werden sehen, dass es fehlerhaft ist (getestet in FF 3.5.4 Mac OS). Und die Möglichkeit, per Hash zu einem Tab zu verlinken (z. B. #tabOne), wäre schön gewesen. Ansonsten sieht es gut aus, denke ich!
Cooler Ansatz wie immer. Ich weiß, Sie mögen Ihre „rel“-Attribute, aber ich frage mich, warum Sie nicht einfach das „href“-Attribut verwendet haben, um von den Navigationslinks auf die einzelnen Listen zu verweisen? Dies würde drei Vorteile bringen
1) Benutzer ohne JavaScript könnten die Navigationslinks immer noch verwenden (ein Klick darauf würde die Seite zur entsprechenden Liste scrollen). Das ist die Essenz der progressiven Verbesserung (und des graceful degradation).
2) Sie müssten den Hash-Marker nicht an verschiedenen Stellen in Ihrem Code voranstellen – Sie hätten ihn bereits aus dem href-Attributwert.
3) Sie würden das rel-Attribut nicht auf nicht standardmäßige Weise verwenden (ich weiß, kein großer Gewinn, aber...).
Fehlt mir etwas?
Ja, so sollte man es absolut machen. In diesem Fall ist die Sache mit „rel“ etwas dumm. Ich denke, es war ein Überbleibsel der ursprünglichen Version, die ich irgendwo verwendet habe, wo IDs aus irgendeinem Grund keine Möglichkeit waren.
Wirklich gute Arbeit, aber gibt es eine Möglichkeit, diese Tabs auch bei ausgeschaltetem JS funktionsfähig zu machen.
Das ist wirklich ein schönes kleines Tut, werde ich definitiv in einem bevorstehenden Projekt verwenden. Vielen Dank!
Glückwunsch! Wirklich cool. (= Ich versuche, es so anzupassen, dass ich 2 Divs innerhalb der Animation verwende, einer nach dem anderen.
Hey,
Tolle Sachen!
Nur eine Frage…
Hat jemand Tests mit diesem in IE 6 und 7 gemacht?
Hey, ich habe es geliebt!!!
Kannst du mir helfen, dies von einem externen Menü aus funktionieren zu lassen??
Danke!!!
Toller Artikel.
Kannst du erklären, wie man es für Blogger verwenden kann?
Danke…
Danke für den Artikel, Chris.
Das war definitiv Stoff zum Nachdenken für die aktuelle Website, die ich gerade erstelle.
@John Pisello, guter Punkt, das href-Attribut anstelle von rel zu verwenden. Diese würdevolle Abwärtskompatibilität kann für einige unserer Kunden alles bedeuten!
Könnte dieser Code wiederverwendbar sein?
Ich habe viele Tabs, daher möchte ich nicht zu viele Funktionen für dasselbe erstellen.
Vielen Dank im Voraus
Sehr schöner Slider! Ich habe festgestellt, dass er in IE6 nicht richtig funktioniert. Irgendwelche Vorschläge?
Danke!
Es war ein sehr guter Browser, er lebte und regierte länger als jeder andere davor und danach. Jetzt legen Sie ihn zur Ruhe in sein Bett … und ersticken Sie ihn mit einem Kissen…
Hey Elliott, bitte vergessen Sie IE6 jetzt. Warum zwingen Sie auch andere Entwickler, IE6 zu unterstützen. IE6 ist tot. IE6 ist tot. IE6 ist tot. IE6 ist tot. Wird nicht einmal von den Leuten unterstützt, die es gemacht haben. Microsoft Webentwicklungsingenieure. Verstanden?
sehr schöner Tab vielen Dank
Danke für das Update, Chris! Eine Sache, mit der ich in der letzten Version Schwierigkeiten hatte, war, dass ich beim Versuch, Elemente für nebeneinander liegende Listen in den Tabs zu „float“ hatte, eine ruckelige Übergangsaktion bekam.
Ich habe in dieser neuen Demo mit Firebug herumgespielt (die UL gefloated, sie schmaler gemacht, dupliziert, die rechte gefloated, sodass sie nebeneinander lagen), und die Übergänge blieben schön und flüssig. Ich werde diese Änderungen heute Abend in meine Website implementieren.
*Daumen drücken!
Hey Leute, kann mir jemand erklären, wie das gesamte Tab-System den Inhalt tatsächlich abruft?
Ich verstehe, wenn man einen Beitrag in WordPress schreibt, kann man ihm eine Kategorie wie „featured“ oder so geben, aber wie ruft man jeden Abschnitt der Registerkartenbox ab, um die Artikelüberschriften anzuzeigen und sie anzuzeigen?
Liege ich hier falsch? Ich wäre Ihnen sehr dankbar, wenn mir jemand das erklären könnte. Danke!!!
Mann, ich mag dieses Menü wirklich. Leider funktioniert es, wie andere schon bemerkt haben, nicht mit deaktiviertem JS, daher sehe ich keine Möglichkeit, es zu verwenden. Ich habe fast keine JS-Kenntnisse, daher werde ich nicht derjenige sein, der dies so umprogrammiert, dass es gemäß Johns Pisellos Idee oder anderen gut abwärtskompatibel ist, aber wenn Chris oder jemand dies neu codiert, habe ich einen großartigen Verwendungszweck dafür im Sinn.
Dieser Code muss für viele WordPress-Themes im Magazin-Stil verwendet werden ;)
anlatım için teşekkürler (Vielen Dank für Ihre Ausführung)
Ernsthaft Chris, vielen Dank dafür. Ich habe in der Vergangenheit Tabs/Slider/Akkordeons erstellt, nur um zu sehen, wie sie je nach Höhe meines Browserfensters „springen“. Jedes Mal habe ich das Feature verworfen. Danke, dass du das gelöst hast!
Das ist großartig, danke für die Zusammenstellung… bitte verzeihen Sie eine Frage von einem jQuery-N00b: Kann dies leicht für einen Inhaltsbereich mit fester Höhe anstelle eines flexiblen geändert werden? Organic Tabs hat bei mir in WP sofort funktioniert, noch einfacher als andere, die ich gefunden habe und die keine flexiblen Höhen haben, daher frage ich mich, ob es eine Möglichkeit gibt, einfach den flexiblen Teil „auszuschalten“ und die Fade-In/Out-Funktionalität beizubehalten. Danke.
Dies ist eine großartige Auffrischung einer bereits existierenden jQuery-Lösung. Gut gemacht, sie mit Delegation solider zu machen, Chris.
Irgendwelche Gedanken zur Hinzufügung eines weiteren Plugin-Parameters? Wie die Richtung zum Beispiel, um das Div horizontal statt vertikal wachsen zu lassen?
Hallo…
Ich würde gerne organische Tabs auf meiner Website haben…
Aber ich weiß nicht, wie es geht. Wo soll ich die Dateien ablegen???
Hilfe…
Es wäre toll, eine Option „kollabierbar“ zu haben… also wenn man auf den geöffneten Tab klickt… ihn einklappen kann.
schönes Plug-in…
Danke fürs Teilen
Ich wünschte, ich wüsste das alles. Danke:)
Gute Arbeit, Chris!
Sie haben ein großartiges Werkzeug geschaffen. Können Sie erklären, wie ich es auf andere Elemente als Listen verwenden kann. Zum Beispiel auf AREA-Elemente auf einem Bild? DANKE!
Nochmals vielen Dank für ein sehr gutes Tutorial, es hilft wirklich!
Nur eine Frage: Wie würde man es modifizieren, damit beim Laden der Seite alle Tabs geschlossen sind, anstatt einen Tab (aktuell) geöffnet zu haben?
Nochmals vielen Dank
Ich freue mich, dass dies zu einem JQuery-Plugin umgewandelt wurde! Danke für das Update! Tabs erleichtern die Verwaltung des Platzes!
Es ist cool, als Sie es in ein jQuery-Plugin verwandelt haben. Ich habe Ihre Anweisungen befolgt, um Tabs auf meinen Websites zu erstellen, und jetzt ist es einfacher, nur das Markup zu erstellen und das Plugin zu verwenden. Vielen Dank fürs Teilen.
Sehr schön, aber wenn ich ein Float-Element darin hinzufüge, wird es sehr ruckelig. Sagen wir, Sie wollten Spalten statt Reihen, mit Float links, verschwinden die flüssigen Übergänge..? Irgendwelche Lösungen außer der Verwendung einer Tabelle? Position:absolute scheint auch nicht zu funktionieren..?
Hey JECCI–
Ich habe das gleiche Problem. Ich versuche, dies auf einer Website zu implementieren, an der ich arbeite, aber ich habe ein schnelles Beispiel mit den heruntergeladenen Dateien vom Tut gemacht und es auf meinem Testserver hochgeladen, um das Problem zu demonstrieren.
http://testing.jasonandreoni.com/testTabs/
Ich hoffe, jemand kann helfen!
Das Listenelement, das die beiden gefloaten Bereiche enthält, hat eine Höhe von Null. Sie müssen den Float auf diesem Listenelement löschen, damit es Höhe hat.
Großartig, vielen Dank Chris!
Mucho Gracias Chris! Ich habe ein clear:left am Ende von UL hinzugefügt und es funktioniert großartig! Danke…
Was wäre der beste Weg, dieses Tab-Menü in ein vertikales Menü umzuwandeln, wobei „#nav“ nach dem Klicken den Inhalt darunter aufklappen lässt?
Ich habe versucht, dies zu assimilieren, aber meine Tabs bleiben nicht offen, aufgrund von etwas, das mit der „current“-Klasse nicht funktioniert.
ta
Stephanie
Großartige Sachen. Ich habe mich immer gefragt, wie man es so reibungslos macht. Es ist großartig, Mann, danke.
Hat super funktioniert! Danke!
Hallo,
Zuerst einmal, ich habe das Tab-Skript geliebt. Es ist einfach hervorragend.
Es scheint ein kleines Problem mit den Tabs zu geben. Ich verwende dies in einer Anwendung, bei der ich eine Kindertabelle innerhalb eines der Tabs habe. In dieser Tabelle habe ich JS-Code, um neue Zeilen hinzuzufügen. Da wir die statische Höhe für jeden Tab berechnen, erhöht sich die Höhe nicht, wenn ich meiner Kindertabelle eine neue Zeile hinzufüge. Können Sie mir sagen, wie ich das beheben kann?
Ich dachte, es könnte Leser interessieren, ich habe ein Tutorial geschrieben, wie man dies in das Thesis-Framework implementiert. Hier ist ein Link dazu: thesis-blogs.com.
Ich erhalte einen Firebug-Fehler (base.$nav.delegate ist keine Funktion), wenn ich diesen Code in WordPress verwende. Er funktioniert lokal einwandfrei.
Er lädt jQuery und nimmt die anfänglichen .hide CSS-Änderungen vor, aber die Funktion wird nicht ausgeführt.
Hat jemand Ideen.
Danke für die Organic Tabs! Dies ist meine modifizierte Version davon für unser Untersuchungsprojekt
Gibt es eine andere Version, die jQuery mindestens 1.9.x unterstützt? Ich habe dies mit jQuery 1.10.2 getestet, aber nichts Funktionales. Eine weitere Frage: Wie kann man dies mit einer Callback-Funktion funktionsfähig machen, wenn JavaScript deaktiviert ist?
Ich habe zuvor https://css-tricks.de/functional-css-tabs-revisited/ ausprobiert, aber die Höhenanpassung des Inhalts hat mich frustriert.
Hallo. Danke für diesen nützlichen Code! Ich würde gerne wissen, ob es eine Möglichkeit gibt, innerhalb des aktuellen Tabs auf einen anderen Tab zu verlinken...
Wie ein Anker oder so. Z.B.: Ich habe Text im Tab 1, und er lautet: "Klicken Sie hier, um zum 2. Tab zu gelangen"... und wenn ich darauf klicke, springt es zum 2. Tab...
Wissen Sie, ob das möglich ist? Und wie implementiert man es?
Hallo Leute, ich brauche eure Hilfe...
Ich möchte ein
mehrere Tabs wie ein E-Mail-System machen.
Ich klicke auf die Posteingangsseite und lese eine E-Mail, diese Aktion öffnet sich im Ansichts-Tab
und dieser Tab hat mehrere entfernbarere Tabs.
Also, was soll ich tun?
Wie kann ich das in einer WordPress-Seite/Beitrag verwenden?
Hallo. Tolles Tutorial. Für meine spezielle Seite möchte ich jedoch, dass die Akkordeons beim Laden der Seite alle geschlossen sind. Außerdem möchte ich, dass sich das Akkordeon schließt, wenn ich erneut auf den Titel-Tab klicke. Haben Sie Ideen, welchen Code ich ändern muss, um diese Effekte zu erzielen?
Hey, sehr schöne Anwendung! =)
Aber wenn man zum ersten Mal auf einen Tab klickt, ändert sich die Höhe des Inhaltsbereichs darunter (wandert etwa 10 Pixel nach oben).. könnte das meine Schuld sein oder gibt es andere mit diesem Problem?
gelöst!
\#tab_wrapper .list-wrap {background: #eee; padding: 10px; margin: 0 0 15px 0;
height: auto !important; /* <- Das habe ich gerade hinzugefügt */
}
Hallo Leute, ich hoffe, Sie können mir helfen. Ich habe Organic Tabs erfolgreich für mein Schulprojekt verwendet, aber ich habe ein Erweiterungsproblem bei der Verwendung einiger anderer Ajax-Codes.
So sieht meine Website aus: http://puu.sh/8jFbZ.png
Wenn Sie auf den Button "ara" klicken, wird aus der Datenbank abgerufen und der Tab erweitert. Das funktioniert sehr gut. Aber das Problem ist, wenn ich andere Tabs besuche, bevor ich Daten abrufe, und dann zurück zum Tab gehe und Daten abrufe, sieht es so aus: http://puu.sh/8jFpC.png
Das Abrufen von Daten leitet die Seiten nicht weiter oder lädt sie neu.
Hier sind die Ajax-Codes
“
jQuery(document).ready(function($) {
$(‘.btnSearch’).click(function(){
makeAjaxRequest();
});
Wie kann ich das beheben?