Tipps zur Implementierung von Listenschleifen-Scrollen basierend auf jQuery (super einfach)

Tipps zur Implementierung von Listenschleifen-Scrollen basierend auf jQuery (super einfach)

Ich habe eine gute Idee gesehen und sie aufgezeichnet.

Ich habe jQuery bereits verwendet, um Scroll-Effekte zu erzielen. In diesen beiden Artikeln habe ich geschrieben: Artikel 1, Artikel 2, jeweils scrollLeft() und scrollTop(), scroll() verwendet, um zu erreichen

Später sah ich eine Demo und fand die Idee großartig. Ich dachte, man könnte damit die Listenelemente scrollen. Der Effekt war wahrscheinlich so:
Bildbeschreibung hier einfügen

Die Idee ist folgende:
Solange Sie das erste Element bis zum Ende verschieben können, füllt der Rest die Lücke. Wenn Sie den Füllvorgang mithilfe einer Animation verlangsamen, können Sie einen kontinuierlichen visuellen Bildlaufeffekt erzielen (das Löschen des ersten Elements aus dem Array und das anschließende Hinzufügen dieses Elements am Ende entspricht dem Verschieben des ersten Elements ans Ende; die Gesamtzahl der Elemente hat sich nicht geändert, aber die Positionen haben sich alle geändert).

Code:

//Einzufüllende Datenvar data = {
     infoItem: [
         „<strong>Zeile 1:</strong>Anzhian …
         „<strong>Zeile 2:</strong>Sunshine Rainbow Little White HorseSunshine Rainbow Little White HorseSunshine Rainbow Little White Horse“,
         „<strong>Zeile 3:</strong> Die Weite von Himmel und Erde. Die Weite von Himmel und Erde. Die Weite von Himmel und Erde. Die Weite von Himmel und Erde.“
     ]
 }
 // Daten dynamisch in die Seite einfügen var infoList = []
 für (lass i = 0; i < data.infoItem.length; i++){
     let infoStr = `<div class="item">${data.infoItem[i]}</div>`
     infoList.push(infoStr);
 }
 $(".info-wrapper").html(infoList.join(""))

 //Setzen Sie einen Timer, der alle 2 Sekunden ausgeführt wird (einmal ändern)
 var Timer = null;
 Timer = Intervall festlegen(Funktion () {
     // Verschiebe die erste Zeile mit Elementen in die letzte Zeile und verschiebe die anderen nach oben, um die freien Stellen zu füllen. var infoItemTmp = infoList.shift();
     $(".info-wrapper").append(infoItemTmp);
     $(".item:first").entfernen();
     infoList.push(infoItemTmp)

 }, 2000)

HTML- und Style-Teile:

<div Klasse="Container">
        <div Klasse="Wrapper">
            <div Klasse="info">
                <div Klasse="info-wrapper"></div>
            </div>
        </div>
    </div>
.container {
    Breite: 900px;
    Höhe: 400px;
    Rand: 2px durchgezogen #eee;
    Anzeige: Flex;
    Inhalt ausrichten: zentriert;
    Elemente ausrichten: zentrieren;
}

.wrapper {
    Breite: 500px;
    Höhe: 300px;
    Rand: 1px durchgezogen #ccc;
    Anzeige: Flex;
    Inhalt ausrichten: zentriert;
    Inhalt ausrichten: zentriert;
}

.die Info {
    Breite: 100 %;
    Höhe: 100%;
    Anzeige: Flex;
    Flex-Richtung: Spalte;
    Inhalt ausrichten: Abstand dazwischen;
    Inhalt ausrichten: zentriert;
}

.info-Wrapper {
    Breite: 100 %;
    Höhe: 100%;
    Überlauf: versteckt;
}

.Artikel {
    Rand: 2px durchgezogen #ccc;
    Rahmen links: 4px durchgehend orange;
    Höhe: 80px;
    Breite: 100 %;
    Anzeige: Flex;
    Inhalt ausrichten: zentriert;
    Elemente ausrichten: zentrieren;
    Box-Größe: Rahmenbox;
    Rahmenradius: 8px;
    Rand oben: 20px;
}

Die aktuelle Auswirkung ist folgende:

Bildbeschreibung hier einfügen

Plus die Gleiteffekt-Animation:

.item:erstes-Kind {
    Animation: 2 s lineare Bewegung;
}
@keyframes verschieben {
    100 % {
        Rand oben: -80px;
    }
}

Schieben Sie den Cursor weiter, bis Sie eine Position erreichen, an der Sie ein neues Element hinzufügen können. Dadurch wird das Hinzufügen des neuen Elements ausgelöst:

//Stellen Sie den Timer so ein, dass er alle 2 Sekunden ausgeführt wird (einmal ändern) – dieselbe Zeit, die während der Animation eingestellt wird. var timer = null;
Timer = Intervall festlegen(Funktion () {
    wenn ($('.info').scrollTop() + $('.info').height() >= $('.info-wrapper').height()) {
        // Verschiebe die erste Zeile mit Elementen in die letzte Zeile und verschiebe die anderen nach oben, um die freien Stellen zu füllen. var infoItemTmp = infoList.shift();
        $(".info-wrapper").append(infoItemTmp);
        $(".item:first").entfernen();
        infoList.push(infoItemTmp)
    }
}, 2000)

Sie können die Wirkung des Anfangs erhalten

Damit ist dieser Artikel mit Tipps zur Implementierung von List-Loop-Scrolling auf Basis von jQuery (super einfach) abgeschlossen. Weitere relevante Inhalte zum jQuery-List-Loop-Scrolling finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • JQuery realisiert die Spezialeffekte einer nahtlosen, nach oben kreisförmigen Scrollliste
  • jQuery implementiert automatisches Scrollen von Listen zur Anzeige von Nachrichten
  • Beispielcode für eine jQuery-Schleife zum Scrollen einer Nachrichtenliste
  • jQuery implementiert das automatische kreisförmige Scrollen der Liste und stoppt das Scrollen, wenn die Maus darüber schwebt
  • Beispiel für kontinuierliches und pausierbares Scrollen mit jQuery
  • Anwendungsbeispiel für das Plug-In „jQuery steuert das kreisförmige Auf- und Ab-Scrollen von LI“ (mit Download des Demo-Quellcodes)
  • Verschiedene JQuery-Loop-Codes für Scrolltext- und Bildeffekte

<<:  Grafische Anweisungen zum Hoch- und Herunterladen von Dateien auf einen Remote-Linux-Host basierend auf SecureCRT

>>:  Lösung für das Problem, dass synchrone Replikationsfehler im MySQL5.6 GTID-Modus nicht übersprungen werden können

Artikel empfehlen

Docker stellt Mysql, .Net6, Sqlserver und andere Container bereit

Inhaltsverzeichnis Installieren Sie Docker unter ...

JavaScript-Canvas zum Laden von Bildern

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

Tutorial zur Installation von Pycharm und Ipython unter Ubuntu 16.04/18.04

Unter Ubuntu 18.04 1. sudo apt install python ins...

So verwenden Sie die Typerweiterung ohne Typingscript

Vorwort Aufgrund der schwachen Typisierung von JS...

Beitrag zur Übermittlung von HTML-Daten_PowerNode Java Academy

Zu den vom HTTP/1.1-Protokoll angegebenen HTTP-An...

Einige Fragen zu Hyperlinks

Ich freue mich sehr, an dieser Folge der Kartoffe...

Grafisches Tutorial zur Installation von JDK1.8 unter CentOS7.4

Schritte zur Linux-Installation von JDK1.8 1. Übe...

So verwenden Sie die JSX-Syntax richtig in Vue

Inhaltsverzeichnis Vorwort Virtueller DOM Was ist...

Beispiel für das Einfügen eines HTML-Bilds (html add image)

Zum Einfügen von Bildern in HTML sind HTML-Tags f...

js zur Realisierung eines Web-Musikplayers

Dieser Artikel enthält einfachen HTML- und Musikp...

Detaillierte Erläuterung des Datenproxys und der Ereignisse von VUE

Inhaltsverzeichnis Überprüfung der Object.defineP...