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

Unterschiede im Stundentrennzeichen zwischen Browsern

Beim Erstellen einer Webseite verwenden Sie manchm...

So erstellen Sie eine LNMP-Umgebung unter Ubuntu 20.04

Einfache Beschreibung Da es zuvor mit Centos7 ers...

JS-Code zum Erzielen eines Seitenwechseleffekts

In diesem Artikelbeispiel wird der spezifische Co...

Einige Hinweise zu MySQL-Routineberechtigungen

1. Wenn der Benutzer über die Berechtigung zum Er...

Lösung für MySQL-Verbindungsausnahme und Fehler 10061

MySQL ist ein relationales Datenbankverwaltungssy...

25 Beispiele für die Verwendung kreisförmiger Elemente im Webdesign

Heute listet dieser Beitrag einige großartige Beis...

Mehrere Möglichkeiten zum Löschen von Arrays in Vue (Zusammenfassung)

Inhaltsverzeichnis 1. Einleitung 2. Mehrere Mögli...

So verwenden Sie DQL-Befehle zum Abfragen von Daten in MySQL

In diesem Artikel zeigt Ihnen der Blogger die häu...

Kopieren von JS-Objekten (Deep Copy und Shallow Copy)

Inhaltsverzeichnis 1. Oberflächliche Kopie 1. Obj...

36 Prinzipien der MySQL-Datenbankentwicklung (Zusammenfassung)

Vorwort Diese Prinzipien sind aus tatsächlichen K...

WHMCS V7.4.2 Grafisches Installationstutorial

1. Einleitung WHMCS bietet eine Komplettlösung fü...