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:
|
<<: Linux CentOS 6.5: Anleitung zum Deinstallieren, Tarieren und Installieren von MySQL
>>: Detaillierte Erklärung der MySQL Master-Slave-Inkonsistenz und Lösungen
Inhaltsverzeichnis 1. So erstellen Sie ein Array ...
Für dieses Beispiel ist das Herunterladen und Ins...
Code kopieren Der Code lautet wie folgt: <!DOC...
Inhaltsverzeichnis 1. Einleitung 2. Direkte Wiede...
Web-Frontend 1 Studierendenausweis Name Geschlech...
Syntax der Whitelist-Regel: Grundregel wl:ID [neg...
Ich habe zufällig festgestellt, dass Vue.$set im ...
Inhaltsverzeichnis Vorwort Grundlegende Einführun...
http://www.cppcns.com/shujuku/mysql/283231.html S...
Das Standardspeicherverzeichnis von MySQL ist /va...
Das dürfte etwas sein, was viele Leute gemacht ha...
Nginx kann im Allgemeinen für siebenschichtigen L...
1. Hintergrund Wenn der Docker-Dienst gestartet w...
1. Laden Sie das Installationspaket herunter Das ...
Verwandte Artikel: 9 praktische Tipps zum Erstelle...