Ziele für diesen ZeitraumVerwenden Sie JavaScript, um Bodennavigationseffekte zu erstellen und zwei Funktionen zu erreichen:
1. Funktionsimplementierung1.1 Strukturschicht<div id="Box" Klasse="Box"> <ul Klasse="Liste"> <li class="content-part" data-n="Spalte 1">Spalte 1</li> <li class="content-part" data-n="Spalte 2">Spalte 2</li> <li class="content-part" data-n="Spalte Drei">Spalte Drei</li> <li class="content-part" data-n="Spalte 4">Spalte 4</li> <li class="content-part" data-n="Spalte Fünf">Spalte Fünf</li> </ul> </div> <div Klasse="links"> <ul id="linke-Liste"> <li data-n="Spalte 1">Spalte 1</li> <li data-n="Spalte 2">Spalte 2</li> <li data-n="Spalte Drei">Spalte Drei</li> <li data-n="Spalte 4">Spalte 4</li> <li data-n="Spalte Fünf">Spalte Fünf</li> </ul> </div> 1.2 Stilebene<Stil> * { Rand: 0; Polsterung: 0; } Körper .box { Breite: 1200px; } Körper .box { Rand: 0 automatisch; } ul { Listenstil: keiner; } Körper .box ul li { Höhe: 800px; Hintergrundfarbe: Silber; Rand unten: 20px; Schriftgröße: 30px; Schriftstärke: fett; } Körper .links { Position: fest; links: 20px; unten: 100px; Breite: 100px; Höhe: 250px; oben: 50 %; Rand oben: -125px; Hintergrundfarbe: Silber; } Körper .links ul li { Höhe: 50px; Zeilenhöhe: 50px; Textausrichtung: zentriert; Cursor: Zeiger; } Körper .aktuell { Farbe: #fff; Hintergrundfarbe: Tomate; } </Stil> 1.3 Verhaltensebene1.3.1 BodensprungKlicken Sie im linken Menü auf die Etagenschaltfläche, um zur entsprechenden Etage zu springen. var oList = document.getElementById('linke Liste'); // Klickereignisdelegat oList.onclick = function (e) { wenn (e.target.tagName.toLowerCase() == 'li') { // Den Wert von data-n abrufen var n = e.target.getAttribute('data-n'); // [] Attributselektor var contentPart = document.querySelector('.content-part[data-n=' + n + ']'); //Bildlauf festlegen document.documentElement.scrollTop = contentPart.offsetTop; } } 1.3.2 EtagenüberwachungEtagenüberwachung: Beim Scrollen der Seite ändert sich der Hintergrund der Etagenspalte im linken Menü entsprechend. //Beim Scrollen der Seite ändert sich der Hintergrund der Box-Spalte links entsprechend var contents = document.querySelectorAll('.content-part'); var lis = document.querySelectorAll('#left-list li'); var offsetTopArr = []; für (var i = 0; i < Inhalt.Länge; i++) { offsetTopArr.push(Inhalt[i].offsetTop); } // Zum einfacheren Vergleichen fügen Sie infinite offsetTopArr.push(Infinity) hinzu; // Monitor-Scrollen var nowFloor = -1; fenster.onscroll = Funktion (e) { var nowScrollTop = document.documentElement.scrollTop; // Der i-Wert von break ist der Index des Box-Arrays für (var i = 0; i < offsetTopArr.length; i++) { wenn (jetztScrollTop >= offsetTopArr[i] und jetztScrollTop < offsetTopArr[i + 1]) { brechen; } } // Die Stockwerke sind nicht gleich, ändere den Stil if (nowFloor != i) { jetztFloor = i; für (var j = 0; j < lis.length; j++) { wenn (j == i) { // Stil zum aktuellen Stockwerk hinzufügen lis[j].className = 'current'; } anders { //Entfernen Sie die Stile anderer Etagen lis[j].className = ''; } } } } 2. Effektvorschau3. ProjektcodeKlicken Sie hier, um zum Code-Repository zu gelangen und den vollständigen Code anzuzeigen. Damit ist dieser Artikel über den detaillierten Prozess zum Erstellen von Bodennavigationseffekten mit JavaScript abgeschlossen. Weitere relevante Inhalte zur Bodennavigation in JavaScript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: XHTML-Erste-Schritte-Tutorial: XHTML-Hyperlinks
>>: So zeigen Sie Bildinformationen in Docker an
Effektbild: Implementierungscode: <Vorlage>...
Ein Trick zum Umgang mit dieser Art von Fehlern be...
Vor Kurzem musste ich die Zoom-Videokonferenz tes...
Inhaltsverzeichnis 1. Komponenteneinführung 2. Qu...
Durch Zufall entdeckte ich, dass eine SQL-Anweisu...
Inhaltsverzeichnis Geschäftslogik Datentabellenst...
Lasst uns gemeinsam lernen 1. Traditionelle Metho...
Code kopieren Der Code lautet wie folgt: <!-- ...
Kürzlich wurde bei einem Online-Sicherheitsscan e...
Inhaltsverzeichnis 1. Der Grund, warum das Limit ...
1. Tabellen erstellen <br /> Erstellen Sie ...
Inhaltsverzeichnis Erstellen Sie ein Docker-Image...
CentOS6.9 installiert Mysql5.7 zu Ihrer Informati...
Ich habe gestern lange geschlafen und war den gan...
Vorwort Aus Kostengründen kaufen die meisten Webm...