In diesem Artikelbeispiel wird der spezifische Code von Vue zum nahtlosen Scrollen der Liste zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt HTML-Teilcode <Vorlage> <div id="box" Klasse="Wrapper"> <div Klasse="enthalten" id="con1" ref="con1" :class="{anim:animate==true}"> <Liste v-for="(Element, Index) in CloudList" :Schlüssel="Index" :listData="Artikel" :index="Index" :Datum="Datum" ></Liste> </div> </div> </Vorlage> List ist eine einzelne Listenkomponente und kann auch durch li ersetzt werden. CSS-Teilcode <Stilbereich> .wrapper { Breite: 96vw; Höhe: 90vh; Position: absolut; links: 2vw; oben: 1rem; Überlauf: versteckt; } .contain > div:nth-child(2n) { //Dieser Stil ist für mein Projekt erforderlich und hat nichts mit nahtlosem Scrollen zu tun. Margin-left: 2vw kann ignoriert werden; } .anim { Übergang: alle 0,5 s; Rand oben: -7vh; } </Stil> Meine Listenkomponente ist auf float: left eingestellt, daher hat das div mit id="con1" keine Höhe js Teil des Codes <Skript> Liste aus „./List“ importieren; Standard exportieren { Name: 'Enthalten', Daten () { zurückkehren { cloudList: [], //Array zum Speichern von Listendaten date: '', //Datum der letzten Datenaktualisierung animate: false, Zeit: 3000, //Zeitgesteuertes Scrollintervall setTimeout1: null, setInterval1: null }; }, Komponenten: Liste }, Methoden: { // JSON-Daten abrufen und Datum aktualisieren getCloudListData () { const _this = dies; _this.$api.getCloudListData().then(res => { _this.cloudList = res; }); var neuesDatum = neues Datum(); _this.date = _this.dateFtt('yyyy-MM-dd hh:mm:ss', neues Datum); }, // Datumsformat dateFtt (fmt, date) { var o = { „M+“: date.getMonth() + 1, // Monat „d+“: date.getDate(), // Tag „h+“: date.getHours(), // Stunden „m+“: date.getMinutes(), // Minuten „s+“: date.getSeconds(), // Sekunden „q+“: Math.floor((date.getMonth() + 3) / 3), // Quartal S: date.getMilliseconds() // Millisekunden }; wenn (/(y+)/.test(fmt)) { fmt = fmt.ersetzen( RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.Länge) ); } für (var k in o) { wenn (neuer RegExp('(' + k + ')').test(fmt)) { fmt = fmt.ersetzen( RegExp.$1, RegExp.$1.Länge === 1 ? OK] : ('00' + o[k]).substr(('' + o[k]).Länge) ); } } fmt zurückgeben; }, // Scrollen scroll () { const _this = dies; _this.animate = wahr; Zeitüberschreitung löschen(_this.setTimeout1); _this.setTimeout1 = setTimeout(() => { var übergeordnetes Element = document.getElementById('con1'); var erste = document.getElementById('con1').children[0]; var Sekunde = document.getElementById('con1').children[1]; übergeordnetes Element.entfernenKind(erstes); parent.removeChild(Sekunde); übergeordnetes Element.AnhängenKind(erstes); parent.appendChild(Sekunde); _this.animate = falsch; }, 500); } }, erstellt () { const _this = dies; _this.getCloudListData(); //Der Timer aktualisiert die Daten alle 24 Stunden setInterval(() => { _this.getCloudListData(); }, 24 * 60 * 60 * 1000); }, montiert () { const _this = dies; var enthalten = document.getElementById('box'); _this.setInterval1 = setInterval(_this.scroll, _this.time); var setInterval2 = null; //Maus bewegt sich in den Scrollbereich, um das Scrollen zu stoppen contain.onmouseenter = function () { Intervall löschen(_this.setInterval1); Variablenanzahl = 0; // Wenn sich die Maus länger als zehn Sekunden nicht bewegt, beginne mit dem Scrollen setInterval2 = setInterval(function () { zählen++; wenn (Anzahl === 10) { _this.scroll(); _this.setInterval1 = setInterval(_this.scroll, _this.time); } }, 1000); //Stoppe das Scrollen, sobald sich die Maus bewegt und setze den Zähler auf 0 enthalten.onmousemove = Funktion () { Anzahl = 0; Intervall löschen(_this.setInterval1); }; }; // Die Maus bewegt sich aus dem Scrollbereich contain.onmouseleave = function () { Intervall löschen(Intervall festlegen2); Intervall löschen(_this.setInterval1); _this.scroll(); _this.setInterval1 = setInterval(_this.scroll, _this.time); }; } }; </Skript> 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:
|
<<: So legen Sie die Umgebungsvariable PATH im Linux-System fest (3 Methoden)
>>: Beenden Sie eine Reihe von MySQL-Datenbanken mit nur einem Shell-Skript wie diesem (empfohlen)
Vielleicht weiß jeder, dass die JS-Ausführung die...
Problembeschreibung Ich habe drei virtuelle Masch...
1. Grundlegende Implementierung des Limits Im All...
Es gibt zwei Dateien a.htm und b.htm. Im selben Ve...
Ergebnis:Implementierungscode html <nav class=...
In diesem Artikelbeispiel wird der spezifische Co...
Detaillierte Erklärung zum MySQL-Export von Daten...
<Text> <div id="Wurzel"> &l...
BMP ist ein von Hardwaregeräten unabhängiges und ...
In diesem Artikel wird der spezifische JavaScript...
Im vorherigen Artikel wurde die Implementierungsm...
Wie in der folgenden Abbildung dargestellt: Wenn ...
Ergebnis:Implementierungscode html <link href=...
Anzeigedefinitions-ID Wenn die in der Tabelle def...
Standardmäßig läuft Docker über einen nicht verne...