Detaillierte Erläuterung des Prozesses zum Erstellen von Bodennavigationseffekten mit JavaScript

Detaillierte Erläuterung des Prozesses zum Erstellen von Bodennavigationseffekten mit JavaScript

Ziele für diesen Zeitraum

Verwenden Sie JavaScript, um Bodennavigationseffekte zu erstellen und zwei Funktionen zu erreichen:

  • Bodensprung
  • Etagenüberwachung

1. Funktionsimplementierung

1.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 Verhaltensebene

1.3.1 Bodensprung

Klicken 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überwachung

Etagenü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. Effektvorschau

Bildbeschreibung hier einfügen

3. Projektcode

Klicken 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:
  • js, um einen Boden-Scrolling-Effekt zu erzielen
  • JS-Codebeispiel zum Erzielen eines Website-Bodennavigationseffekts
  • JS realisiert die Bodenspezialeffekte der Navigationsleiste
  • Beispiel einer von AngularJS implementierten Funktion für einen Ankerpunkt-Bodensprung
  • JS realisiert die Message Board-Funktion [Bodeneffektanzeige]
  • Reines HTML+CSS+JavaScript für ein atemberaubendes Seitenlayout (Beispielcode)
  • js zur Realisierung der Etagennavigationsfunktion
  • Ein einfaches Beispiel für die Implementierung von Bodeneffekten mit js
  • JavaScript zum Erzielen eines Bodeneffekts

<<:  XHTML-Erste-Schritte-Tutorial: XHTML-Hyperlinks

>>:  So zeigen Sie Bildinformationen in Docker an

Artikel empfehlen

Hinweise zur Adresszuordnung von Gerätetreibern im Linux-Kernel

#include <asm/io.h> #define ioremap(Cookie,...

Node+Socket realisiert einfache Chatroom-Funktion

In diesem Artikel wird der spezifische Code von N...

Detaillierte Erklärung des Javascript Echarts Luftqualitätskarteneffekts

Wir müssen zunächst die Luftqualitätsdaten mit de...

Tutorial zum Erstellen einer VSCode+CMake+Clang+GCC-Umgebung unter Win10

Ich möchte C/C++ verwenden, um grundlegende Daten...

Lernen wir JavaScript objektorientiert kennen

Inhaltsverzeichnis JavaScript-Prototypenkette Obj...

So legen Sie ein Kennwort für MySQL Version 5.6 auf dem Mac fest

MySQL kann bei der Installation festgelegt werden...

Detaillierte Erklärung der Funktionen jedes Ports von Tomcat

Aus der Tomcat-Konfigurationsdatei können wir ers...

Detaillierte Analyse des virtuellen Nginx-Hosts

Inhaltsverzeichnis 1. Virtueller Host 1.1 Virtuel...

Tipps zum Listenaufbau für Website-Wartungsseiten

Und oft ist es für Wartungsarbeiten erforderlich, ...

Vue implementiert ein einfaches Einkaufswagenbeispiel

In diesem Artikel wird der spezifische Code von V...

Zusammenfassung zum Sharding von MySQL-Datenbanken und -Tabellen

Während der Projektentwicklung werden unsere Date...

Vue3.0 handgeschriebener Karusselleffekt

In diesem Artikel wird der spezifische Code des h...