In diesem Artikel erfahren Sie den spezifischen Code von js, um das dynamische Laden von Daten zu realisieren, wenn der Wasserfallfluss den Boden berührt. Zu Ihrer Information ist der spezifische Inhalt wie folgt // onScrollEvent Bildlaufleistenereignis <div class="box" ref="box" @mousewheel="onScrollEvent"> //Der Inhalt jedes Blocks beginnt <div Klasse="boxItemStyle" v-for="(Benutzertag, i) in Datenquelle" :key="i" ref="boxItemStyle"> <a-tag class="moreStyle" @click="more(userTag.primaryParam)"> Mehr></a-tag> <div v-for="Element in Benutzertag.Benutzertag" :key="Element.code"> <p> {{ item.name }}: {{ Artikel.Wert }} </p> </div> </div> //Inhalte in jedem Block enden </div> Wasserfall-Layout Wasserfall() { // Subtrahieren Sie die Breite des Randes var pageWidth = this.$refs.box.offsetWidth - 200 var columns = 4; //Definiere eine Zeile mit 4 Spalten var itemWidth = parseInt(pageWidth / columns); var arr = []; var Knoten = document.getElementsByClassName("boxItemStyle") setzeTimeout(() => { //var node1 = Array.from(Knoten) // var node2 = Array.prototype.slice.call(Knoten) für (var i = 0; i < Knoten.Länge; i++) { Knoten[i].style.width = Elementbreite + "px" if (i < Spalten) { Knoten[i].style.width = Elementbreite + "px" Knoten[i].style.left = Artikelbreite * i + i * 50 + "px" Knoten[i].style.top = 0 arr.push(Knoten[i].offsetHeight); } anders { // Finde die minimale Höhe im Array und seinen Index var minHeight = arr[0]; Var-Index = 0; für (var j = 0; j < arr.length; j++) { wenn (minHeight > arr[j]) { minHöhe = arr[j]; Index = j; } } Knoten[i].style.top = arr[index] + 30 + "px", Knoten[i].style.left = Knoten[index].offsetLeft + 'px'; // Höhe der Mindestspalte ändern // Höhe der Mindestspalte = aktuelle Höhe + Höhe der gespleißten Spalte arr[index] = arr[index] + nodes[i].offsetHeight + 30; // Abstand auf 30 einstellen } } }, 1000) }, Dynamisches Laden von Daten beiScrollEvent () { Wenn ( dies.isScroll && dies.$refs.box.scrollHeight - dies.$refs.box.scrollTop - dies.$refs.box.clientHeight <= 0 ) { dies.laden = wahr wenn (this.ipagination.current == 1) { dies.ipagination.current += 1 } let param = {} param['Seitennr.'] = diese.ipagination.aktuell param['Seitengröße'] = this.ipagination.Seitengröße param['portraitId'] = diese.portraitId postAction(diese.url.list, { ...param }).then((res) => { dies.laden = falsch wenn (res.erfolg) { this.isScroll = res.Datensätze diese.Datenquelle = diese.Datenquelle.concat(res.Ergebnis.Datensätze || res.Ergebnis) dies.waterFall(); } }) dies.ipagination.current++ } }, 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 finden und löschen Sie doppelte Datensätze in MySQL
>>: Probleme und Lösungen bei der Installation von Docker in der Alibaba Cloud
1. Ziehen Sie das MySQL-Image Holen Sie sich das ...
Ich habe zuvor einen Artikel über rekursive Abfra...
Inhaltsverzeichnis 1. Schreiben Sie Webshell in d...
Abfrage der Gesamtgröße aller Datenbanken So geht...
Ich habe fast zwei Stunden damit verbracht, versc...
vue-element-admin importiert Komponentenkapselung...
Diese Situation tritt normalerweise auf, weil das...
Inhaltsverzeichnis Hintergrund CommonsChunkPlugin...
border-radius:10px; /* Alle Ecken sind mit einem ...
Inhaltsverzeichnis 1. Einleitung 2. Komponentenen...
Vorwort Die erstmals in ES6 eingeführte „Destruct...
So implementieren Sie die Paging-Funktion des MyB...
Lassen Sie uns zunächst den Netzwerkeinstellungsm...
Aus beruflichen Gründen habe ich vor Kurzem einig...
Der Formularcode ist wie in der Abbildung dargest...