JavaScript implementiert Tab-Leisten-Umschalteffekte

JavaScript implementiert Tab-Leisten-Umschalteffekte

Hier ist ein Fall, den Frontend-Entwickler kennen müssen: der Umschalteffekt einer Tab-Leiste. Neben dem Umschalten der Tab-Leiste selbst durch Klicken bestimmt die Tab-Leiste selbst auch die Anzeige des darunterliegenden Inhaltsbereichs.

Anzeige der Wirkung der Operation:

Wie in der Abbildung oben gezeigt, müssen Sie eigentlich nur auf die Registerkartenleiste oben klicken. Der Stil der Registerkartenleiste selbst wird geändert. Anschließend zeigt auch der Inhaltsblock darunter den entsprechenden Inhalt an. Solche Effekte und Funktionen werden im Front-End häufig verwendet, daher kann man sagen, dass dies für das Front-End ein Muss ist. Und nun ohne weitere Umschweife der Code:

(Ich werde den CSS-Style-Code hier nicht veröffentlichen, Sie können ihn nach Ihren Bedürfnissen einstellen und einfach das Float-Layout verwenden)

Der Aufbau von HTML:

<div Klasse="Tabulator">
        <div Klasse="Tab_Liste">
            <ul>
                <li class="current">Produkteinführung</li><!-- Das erste li ist standardmäßig ausgewählt, current bestimmt den Stil des roten Hintergrunds und des weißen Textes-->
                <li>Spezifikationen und Verpackung</li>
                <li>Kundendienstgarantie</li>
                <li>Produktbewertungen (50.000)</li>
                <li>Mobile Community</li>
            </ul>
        </div>
        <div Klasse="tab_con">
            <div class="item" style="display: block;"><!-- Dieses Element wird standardmäßig angezeigt, da der Anzeigewert aller Elemente „keines“ ist -->
                Inhalt des Moduls „Produkteinführung“</div>
            <div Klasse="Artikel">
                Spezifikationen und Inhalt des Verpackungsmoduls</div>
            <div Klasse="Artikel">
                Inhalt des Moduls „After-Sales-Garantie“</div>
            <div Klasse="Artikel">
                Produktbewertungen (50000) Modulinhalt</div>
            <div Klasse="Artikel">
                Inhalt des Mobile Community-Moduls</div>
 
        </div>
</div>

Hier ist der JS-Code:

<Skript>
        // Geschäftsanforderung: Klicken Sie auf die Registerkartenleiste. Die angeklickte Registerkartenleiste hat einen anderen Stil, und das Div darunter sollte ebenfalls umgeschaltet werden, um den Effekt einer Inhaltsänderung zu erzielen. var tab_list = document.querySelector('.tab_list');
        var lis = tab_list.querySelectorAll('li');
        var tabs = document.querySelectorAll('.item');
        für (var i = 0; i < lis.length; i++) {
            lis[i].setAttribute('data-index', i); // Füge jedem li ein benutzerdefiniertes data-index-Attribut hinzu, der Wert ist sein eigener Index in lis, dieser Wert ermöglicht es uns hauptsächlich festzustellen, auf welches li wir gerade klicken, um uns später dabei zu helfen, den Anzeigewert des entsprechenden div zu ändern lis[i].onclick = function () {
                // 1. Der erste Schritt besteht darin, die exklusive Idee zu verwenden, um dem Benutzer, der darauf klickt, ein Klassenattribut zuzuweisen. Beachten Sie, dass die Klassenwerte anderer nicht angeklickter Elemente leer gelassen werden müssen. Dies ist die exklusive Idee, andere zu töten und mich in Ruhe zu lassen für (var i = 0; i <lis.length; i++) {
                    lis[i].className = ''; // Verwenden Sie eine Schleife, um den Klassennamen aller (einschließlich Ihnen selbst) zu leeren}
                // Dann ändere den Klassennamen für dich selbst und überlasse es mir selbst. className = 'current'; // Der CSS-Stil des aktuellen Klassennamens wurde geschrieben // Dann muss der obige Tab-Leistenstil verarbeitet werden. Der zweite Schritt besteht darin, das entsprechende untergeordnete Div desjenigen anzuzeigen, auf den geklickt wurde, und die anderen auszublenden, auf die nicht geklickt wurde. Hier ist es hauptsächlich notwendig, zuerst zu wissen, auf wen der Benutzer geklickt hat, und dann die Anzeige des Objekt-Divs auf Blockieren einzustellen. Dazu ist immer noch exklusives Denken erforderlich // Schritt 2: Ändere den Anzeigeattributwert von div entsprechend dem Klick var index = this.getAttribute('index'); // Rufe den Index des aktuell angeklickten li ab
                for (var i = 0; i < lis.length; i++) { // Verwenden Sie eine Schleife, um die Anzeige aller Elemente auf „keine“ zu setzen und so alle zu beenden tabs[i].style.display = 'none';
                }
                // Sperren Sie in Tabs das Element, das dem Index von li entspricht, und ändern Sie seinen Anzeigewert in Block, sodass ich in Ruhe lasse tabs[index].style.display = 'block';
            }
        }
</Skript>

Hier sind die Implementierungsschritte und -ideen (detaillierte Analysen wurden im JS -Code angegeben): Erstens werden die Funktionen in zwei Schritten unterteilt: Erstens wird der Stil des Li -Tags geändert, dh der Stil des LI -Klicks des Benutzers. LI -Tags werden unten platziert, um den Textinhalt zu halten, aber ihre Anzeige wird durch die LI -Tags in der TAB -Leiste festgelegt, um zu erkennen, dass der Text der DIV mit den LI -Tags wissen muss, welches LI -Tag der aktuelle Benutzer geklickt hat, das hier geklickt hat In dem Wert des Index können wir wissen, welcher Li der Benutzer geklickt hat, damit wir entscheiden können, welche DIV angezeigt werden soll. (Es wird empfohlen, den Code zu lesen und ihn zum besseren Verständnis mit Kommentaren zu kombinieren.)

Hinweis: Lassen Sie mich hier über die " exklusive Idee " sprechen, d. h. Elementobjekte wie Listen oder Tabellen können im Allgemeinen einheitlich abgerufen und in einem Array gespeichert werden. Wenn wir den "Unterschied" zwischen dem aktuell ausgewählten Element und anderen nicht ausgewählten Elementen steuern möchten, entwerfen wir häufig die "exklusive Idee", die hauptsächlich in zwei Schritten implementiert wird: 1. Verwenden Sie eine Schleife, um alle diese Elemente (einschließlich des ausgewählten Elements) zu durchlaufen. Dieser Schritt dient hauptsächlich dazu, alle Elemente "gleich" zu machen und keines davon zu unterscheiden, und dann dem ausgewählten Element (das heißt, mir selbst zu überlassen) den gewünschten Stil oder die gewünschte Funktion hinzuzufügen. Die Kombination dieser beiden Schritte führt dazu, dass die ausgewählte Person „anders“ ist.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • JavaScript zum Erreichen eines einfachen Tab-Leisten-Umschaltens
  • JavaScript zum Implementieren einer einfachen Tab-Leiste zum Wechseln der Inhaltsleiste
  • Beispiel für den Umschalteffekt der JavaScript-Tabulatorleiste
  • js, um einen Tab-Leisten-Umschalteffekt zu erzielen
  • JavaScript zum Erzielen eines Tab-Leisten-Umschalteffekts
  • Codebeispiel zum Umschalten der JS-Tableiste, Analyse
  • JavaScript, um den Effekt des Tab-Leistenwechsels zu erzielen

<<:  Linux CentOS 6.5: Anleitung zum Deinstallieren, Tarieren und Installieren von MySQL

>>:  Detaillierte Erklärung der MySQL Master-Slave-Inkonsistenz und Lösungen

Artikel empfehlen

Zusammenfassung einiger gängiger Methoden des JavaScript-Arrays

Inhaltsverzeichnis 1. So erstellen Sie ein Array ...

Zusammenfassung verschiedener Methoden zur MySQL-Datenwiederherstellung

Inhaltsverzeichnis 1. Einleitung 2. Direkte Wiede...

Kurze Einführung und Verwendung von Table und div

Web-Frontend 1 Studierendenausweis Name Geschlech...

Detaillierte Erklärung der Whitelist-Regeln von nginx-naxsi

Syntax der Whitelist-Regel: Grundregel wl:ID [neg...

Erkennung und Lösung von Vue.$set-Fehlerfallen

Ich habe zufällig festgestellt, dass Vue.$set im ...

Detaillierte Erläuterung des Excel-Parsings und -Exports basierend auf Vue

Inhaltsverzeichnis Vorwort Grundlegende Einführun...

So migrieren Sie das Datenverzeichnis in mysql8.0.20

Das Standardspeicherverzeichnis von MySQL ist /va...

Eine einfache Implementierungsmethode für eine digitale LED-Uhr in CSS3

Das dürfte etwas sein, was viele Leute gemacht ha...

So ändern Sie das Standardnetzwerksegment der Docker0-Brücke in Docker

1. Hintergrund Wenn der Docker-Dienst gestartet w...

4 praktische Tipps für die Webseitengestaltung

Verwandte Artikel: 9 praktische Tipps zum Erstelle...