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

Einführung in /etc/my.cnf-Parameter in MySQL 5.7

Nachfolgend finden Sie einige allgemeine Paramete...

HTML-Tipps, um Ihren Code semantisch zu gestalten

HTML-Semantik scheint ein alltägliches Problem zu...

Einführung von ECharts in das Vue-Projekt

Inhaltsverzeichnis 1. Installation 2. Einleitung ...

vue+element-ui implementiert die Kopfnavigationsleistenkomponente

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

Detaillierte Erläuterung der Datentypprobleme bei der JS-Array-Indexerkennung

Als ich ein WeChat-Applet-Projekt schrieb, gab es...

Einfaches Anwendungsbeispiel für MySQL-Trigger

Dieser Artikel veranschaulicht anhand von Beispie...

Informationen zur Verwendung des Iconfont-Vektorsymbols von Alibaba in Vue

Es gibt viele Importmethoden im Internet, und die...

So ändern Sie die Container-Portzuordnung in Docker dynamisch

Vorwort: Die Docker-Portzuordnung erfolgt häufig,...

Detaillierte Erläuterung der Kubernetes-Pod-Orchestrierung und des Lebenszyklus

Inhaltsverzeichnis K8S Master Grundlegende Archit...

Lösung für den von Mysql systemctl start mysqld gemeldeten Fehler

Fehlermeldung: Der Job für mysqld.service ist feh...