Detaillierte Erklärung zur Verwendung der JavaScript-Paging-Komponente

Detaillierte Erklärung zur Verwendung der JavaScript-Paging-Komponente

Die Paginierungskomponente ist eine häufige Komponente in der Webentwicklung. Bitte vervollständigen Sie die Paginierungsfunktion und vervollständigen Sie den Paginierungsanzeigeteil im DOM-Element mit der ID jsPagination. Die Anforderungen sind wie folgt

1. Anzeige von bis zu 5 Seiten in einer Reihe, wobei die aktuelle Seite in der Mitte hervorgehoben ist (wie in Demo1 gezeigt)
2. Wenn die Summe 0 ist, das gesamte Element ausblenden (wie in Demo2 gezeigt)
3. Wenn die Gesamtzahl <= 5 ist, werden alle Seiten angezeigt und die Elemente „erste Seite“ und „letzte Seite“ werden ausgeblendet (wie in Demo3 gezeigt).
4. Wenn die aktuelle Seite in der Mitte weniger als 5 Seiten hat, fügen Sie hinten (vorne) 5 Seiten hinzu und verbergen Sie die Elemente „erste Seite“ („letzte Seite“) (wie in Demo4 und Demo5 gezeigt).
5. total und current sind beide positive Ganzzahlen, 1 <= current <= total

Verwenden Sie natives JS, um die Paging-Komponente zu implementieren und die oben genannten Anforderungen zu erfüllen. Die folgenden Punkte sind zu beachten

1: Beim Abrufen des <li>-Tags muss nextSibling zweimal verwendet werden, da sich zwischen dem vorherigen <li>-Tag und dem nächsten <li>-Tag ein Textknoten befindet.

Seite = Seite.nächstesGeschwister.nächstesGeschwister;

2: Das innerHTML des bereitgestellten <li>-Tags lautet '' und die Seitenzahl muss hinzugefügt werden. Schreiben Sie entsprechend den fünf Situationen in den Anforderungen

3: Achten Sie besonders auf den versteckten Status der ersten und letzten Seite. Wenn current-2<=1, wird die erste Seite ausgeblendet; wenn current+2.>=total, wird die letzte Seite ausgeblendet. Die Notwendigkeit, die erste und die letzte Seite auszublenden, besteht in den oben genannten Demo1, Demo3, Demo4 und Demo5. (Das Ausblenden der ersten und letzten Seite von Demo1 wird leicht übersehen!)

HTML

<ul Klasse="pagination" id="jsPagination">
    <li>Startseite</li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li>Letzte Seite</li>
</ul>

CSS

.verstecken{
    Anzeige: keine!wichtig;
}
.Pagination{
    Rand: 0 automatisch;
    Polsterung: 0;
    Listenstil: keiner;
    Textausrichtung: zentriert;
}
.pagination li{
    Anzeige: Inline-Block;
    Breite: 30px;
    Höhe: 30px;
    Überlauf: versteckt;
    Zeilenhöhe: 30px;
    Rand: 0,5px 0,0;
    Schriftgröße: 14px;
    Textausrichtung: zentriert;
    Rand: 1px durchgezogen #00bc9b;
    Farbe: #00bc9b;
    Cursor: Zeiger;
}
.pagination li.current,
.pagination li:hover{
    Hintergrund: #00bc9b;
    Farbe: #ffffff;
}
.demo {
    Rand: 10px 0;
    Polsterung: 10px;
    Hintergrund: #eeeeee;
    Textausrichtung: zentriert;
}

JavaScript

Funktion Paginierung(gesamt, aktuell) {
        var ele = document.getElementById('jsPagination');
        //für demo1
        wenn (aktuell-2>=1&¤t+2<=gesamt)
        {
            var page=ele.erstesKind.nächstesGeschwister;
            wenn(aktuell-2==1)
                page.className='ausblenden';
            für (var i = aktuell-2, p = aktuell-2; i <= aktuell +2; p++, i++)
            {
                Seite=Seite.nächstesGeschwister;
                console.log(Seite);
                Seite=Seite.nächstesGeschwister;
                console.log(Seite);
                Seite.innerHTML=i;
                wenn(i==aktuell)
                    Seite.Klassenname='aktuell';
            }
            wenn(aktuell+2==gesamt)
            {
                var last=seite.nächstesGeschwister.nächstesGeschwister;
                letzter.Klassenname='ausblenden';
            }
        }
        //für demo2
        sonst wenn (gesamt==0)
        {
            ele.className='Seitennummerierung ausblenden';
        }
        //für demo3
        sonst wenn (Gesamt<=5)
        {
            var fir=ele.erstesKind.nächstesGeschwister;
            fir.className='ausblenden';
            var Seite=Tanne;
            für(var i=1;i<=5;i++) {
                Seite = Seite.nächstesGeschwister.nächstesGeschwister;
                wenn (i <= gesamt) {
                    Seite.innerHTML=i;
                    wenn(i==aktuell)
                        Seite.Klassenname='aktuell';
                }
                anders
                {
                    page.className='ausblenden';
                }
 
            }
            var last=seite.nächstesGeschwister.nächstesGeschwister;
            letzter.Klassenname='ausblenden';
        }
        //für demo4
        sonst wenn(aktuell-2<=0)
        {
            var page=ele.erstesKind.nächstesGeschwister;
            page.className='ausblenden';
            für(var i=1;i<=5;i++) {
                Seite = Seite.nächstesGeschwister.nächstesGeschwister;
                Seite.innerHTML=i;
                    wenn(i==aktuell)
                        Seite.Klassenname='aktuell';
            }
 
        }
        //für demo5
        sonst wenn (aktuell+2>gesamt)
        {
            var page=ele.erstesKind.nächstesGeschwister;
            für(var i=total-4;i<=total;i++) {
                Seite = Seite.nächstesGeschwister.nächstesGeschwister;
                Seite.innerHTML=i;
                wenn(i==aktuell)
                    Seite.Klassenname='aktuell';
            }
            var last=seite.nächstesGeschwister.nächstesGeschwister;
            letzter.Klassenname='ausblenden';
 
        }
}

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:
  • Implementierung der Paging-Komponente von Vue.js: Detaillierte Erläuterung der Verwendung von diVuePagination
  • Vuejs2.0 implementiert die Methode zur Verwendung von $emit zum Abhören von Ereignissen und Übertragen von Daten in Paging-Komponenten
  • Ein Beispiel für die Verwendung der AngularJS-Direktive zur Implementierung von Paging-Komponenten
  • Reactjs implementiert den Beispielcode der universellen Paging-Komponente
  • Native js schreibt objektorientierte Paging-Komponenten
  • Vue.js implementiert eine benutzerdefinierte Paging-Komponente vue-paginaiton
  • Verwenden von vue.js zum Erstellen von Paging-Komponenten
  • Tabellen-Paging-Komponente basierend auf Vue.js
  • Detaillierte Erläuterung der Verwendung der multifunktionalen JS-Paging-Komponente layPage
  • Teilen Sie eine einfache Javascript-Paging-Komponente, die ich selbst geschrieben habe

<<:  Diagramm des Installations- und Verwendungstutorials für MySQL 8.0.17

>>:  Was sind die Unterschiede zwischen CDN, SCDN und DCDN zur Website-Beschleunigung? Wie man wählt?

Artikel empfehlen

Beispielanalyse der Intervallberechnung von MySQL-Datum und -Uhrzeit

Dieser Artikel beschreibt anhand eines Beispiels ...

So importieren, registrieren und verwenden Sie Komponenten in Stapeln in Vue

Vorwort Komponenten sind etwas, das wir sehr häuf...

Lösung zur automatischen Beendigung von Docker Run-Containern

Heute ist bei mir ein Problem aufgetreten, als ic...

MySQL-Integritätsbeschränkungen – Definition und Beispiel-Tutorial

Inhaltsverzeichnis Integritätsbeschränkungen Defi...

jQuery implementiert einen einfachen Popup-Fenstereffekt

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

Sechs Möglichkeiten, die Größe von Docker-Images zu reduzieren

Seitdem ich 2017 mit der Arbeit an Vulhub begonne...

Wichtige Updates für MySQL 8.0.23 (neue Funktionen)

Autor: Guan Changlong ist DBA in der Delivery Ser...

Verstehen Sie die Grundlagen von Navicat für MySQL in einem Artikel

Inhaltsverzeichnis 1. Datenbankbetrieb 2. Datenty...

MySQL Best Practices: Grundlegende Arten von Partitionstabellen

Übersicht über partitionierte MySQL-Tabellen Da M...

Verwendung des Linux-Befehls „cal“

1. Befehlseinführung Mit dem Befehl cal (Kalender...

Nodejs-Fehlerbehandlungsprozessaufzeichnung

In diesem Artikel wird der Verbindungsfehler ECON...