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

Detaillierte Erklärung der binären und varbinären Datentypen in MySQL

Vorwort BINARY und VARBINARY ähneln in gewisser W...

Detaillierte Erläuterung der Docker Swarm-Dienstorchestrierungsbefehle

1. Einleitung Docker verfügt über ein Orchestrier...

Anwendungsbeispiele für die MySQL-Volltextsuche

Inhaltsverzeichnis 1. Umweltvorbereitung 2. Daten...

Lassen Sie uns ausführlich über den Symboldatentyp in ES6 sprechen

Inhaltsverzeichnis Symboldatentyp Der Grund, waru...

Implementierung des HTML-Gleit- und Schwebeball-Menüeffekts

CSS-Stile html,Text{ Breite: 100 %; Höhe: 100%; R...

CSS3 implementiert den Beispielcode der NES-Spielekonsole

Ergebnisse erzielenImplementierungscode html <...

So implementieren Sie das Beobachtermuster in JavaScript

Inhaltsverzeichnis Überblick Anwendungsszenarien ...

Notieren Sie eine Falle bei der Aktualisierung der MySQL-Update-Anweisung

Hintergrund Kürzlich habe ich während eines Onlin...

Beispielcode zur Eingabe des Kennzeichens und der Provinzkürzel in html

Das Prinzip besteht darin, zuerst ein Div mit ein...

Ein kurzes Verständnis der drei Prinzipien zum Hinzufügen von MySQL-Indizes

1. Die Bedeutung von Indizes Indizes werden verwe...