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

Integrationspraxis des Vue+Element-Hintergrundverwaltungsframeworks

Inhaltsverzeichnis Vue+ElementUI-Hintergrundverwa...

Kurze Analyse der geplanten MySQL-Sicherungsaufgaben

Einführung Um Datenverlust in einer Produktionsum...

Methode zur Behebung von IE6-Space-Bugs

Schauen Sie sich den Code an: Code kopieren Der Co...

26 häufig vergessene CSS-Tipps

Dies ist eine Sammlung häufig verwendeter, aber l...

Interaktion im Webdesign: Eine kurze Diskussion über Paging-Probleme

Funktion: Zur vorherigen Seite oder zur nächsten ...

Praktischer grundlegender Beispielcode für den Linux-Befehl sed

Der Linux-Stream-Editor ist eine nützliche Möglic...

VMWare15 installiert Mac OS-System (grafisches Tutorial)

Installationsumgebung Windows 10 VMware Workstati...

Anbieterpräfix: Warum brauchen wir ein Browser-Engine-Präfix?

Was ist das Lieferantenpräfix? Anbieterpräfix – B...

Dockers Mechanismus zur Integritätserkennung

Für Container ist die einfachste Integritätsprüfu...

So implementieren Sie Element-Floating und Clear-Floating mit CSS

Grundlegende Einführung in das Floating Im Standa...