


Natives JavaScript LESS implementiert Wasserfall-Flow_Javascript-Fähigkeiten
HTML (achten Sie auf die Paketbeziehung, um den Aufruf von js zu erleichtern)




















WENIGER(less预编译)
* {
Rand: 0;
Polsterung: 0;
}
#main {
Position: relativ;
}
.box {
padding:15px 0 0 15px;
float:left;
}
.pic {
Polsterung: 10px;
Rand: 1px fest #ccc;
Randradius: 5px;
Box-Shadow: 0px 0px 5px #ccc;
img {
Breite:165px;
height:auto;
}
}
JavaScript(自己理解的注解)
(函数存在一定瑕疵,仅用于学习理解)
window.onload = function () {
Wasserfall("main","box");
//Eine benutzerdefinierte Funktion aufrufen; wirkt auf jedes Boxelement unter main;
var dataInt = { "data":[{"src":7.jpg"},{"src":8.jpg"},{"src":9.jpg"},{"src": "6.jpg"}]}
//JSON-Daten simulieren;
Window.onscroll = function () {
if (checkScrollSlide) {
//Eine benutzerdefinierte Funktion aufrufen; anhand des Rückgabewerts der Funktion feststellen, ob der Bildlauf außerhalb des Bereichs liegt;
var oParent = document.getElementById("main");
for (var i = 0; i < dataInt.data.length; i ) {
var oBox = document.createElement("div");
oBox.className = "box";
oParent.appendChild(oBox);
//Boxblock erstellen
var oPic = document.createElement("div");
oPic.className = "pic"; oBox.appendChild(oPic);
//Bildblock erstellen
var oImg = document.createElement("img");
//img-Element erstellen
oImg.src = "images/" dataInt.data[i].src;
//Bildreferenz festlegen;
oPic.appendChild(oImg);
};
Wasserfall("main","box");
// Dynamisch generierte Datenblöcke im Streaming-Stil anordnen; };
};
};
//Hauptfunktion des Streaming-Layouts, passt die Position von Datenblöcken automatisch an;
Funktion Wasserfall (übergeordnet, Box) {
// Nehmen Sie alle Box-Elemente unter main heraus; „parent“ repräsentiert das übergeordnete Element und box repräsentiert das Box-Element; var oParent = document.getElementById(parent);
//Weisen Sie das übergeordnete Element der Variablen oParent;
zu var oBoxs = getByClass(oParent,box);
// Über die benutzerdefinierte Funktion erhalten Sie jedes Boxelement unter dem übergeordneten Element. Sie erhalten die Sammlung aller Boxelemente //Weisen Sie den erhaltenen Satz von Boxelementen erneut oBoxen zu (aus Gründen des Gültigkeitsbereichs werden Variablen nicht gemeinsam genutzt);
// console.log(oBoxs.length);
//Drucken Sie die Anzahl der Boxelemente in der Konsole zum Debuggen;
var oBoxW = oBoxs[0].offsetWidth;
//Berechne die Breite jeder Spalte; offsetWidth ist die Breite einschließlich Polsterung; // console.log(oBoxW); test; var cols = Math.floor(document.documentElement.clientWidth/oBoxW);
//Berechnen Sie die Anzahl der auf der gesamten Seite angezeigten Spalten (Seitenbreite/Boxbreite);
oParent.style.cssText = "width:" oBoxW*cols "px;margin:0 auto";
//Die Breite des übergeordneten Elements main = die Breite jeder Spalte * die Anzahl der Spalten; und zentriert auf der linken und rechten Seite; var hArr = [];
//Array, das die Höhe jeder Spalte speichert;
for (var i = 0; i < oBoxs.length; i ) {
//Das oBoxs-Array durchlaufen;
If (i
hArr.push(oBoxs[i].offsetHeight);
//Ermitteln Sie die Höhe jeder Spalte und fügen Sie sie in das Array ein;
}sonst{
//Das Box-Element ist hier nicht mehr das Element in der ersten Zeile;
var minH = Math.min.apply(null,hArr);
//Ermitteln Sie die Mindesthöhe der ersten Zeile und weisen Sie sie der Variablen zu;
// console.log(minH);
var index = getMinhIndex(hArr,minH);
//Eine benutzerdefinierte Funktion aufrufen, um den Indexwert dieser Variablen abzurufen;
oBoxs[i].style.position = "absolute";
oBoxs[i].style.top = minH "px";
oBoxs[i].style.left = oBoxW*index "px";
//Legen Sie die Position des aktuellen Elements fest;
//Der linke Wert des aktuellen Elements = der Indexwert des oberen Elements * die Breite jeder Spalte; //oBoxs[i].style.left = oBoxs[index].offsetLeft "px";
//Die zweite Methode besteht darin, den linken Wert des aktuellen Elements abzurufen;
//Zu diesem Zeitpunkt wird der Indexspalte ein Box-Element hinzugefügt;
hArr[index] =oBoxs[i].offsetHeight;
//Die aktualisierte Höhe jeder Spalte = die ursprüngliche Höhe jeder Spalte und die Höhe des später hinzugefügten Boxelements;
};
};
};
//JS erhält Elemente nativ über Class;
Funktion getByClass (parent,claName) {
// Elemente über die Klasse abrufen; (Element von claName unter dem Container des übergeordneten Elements abrufen;)
var boxArr = new Array();
//Deklarieren Sie ein Array zum Speichern aller erhaltenen Elemente mit der Klassenbox;
var oElements = parent.getElementsByTagName("*")
//Variablen deklarieren, um alle untergeordneten Elemente unter diesem übergeordneten Element (*);
zu speichern for (var i = 0; i < oElements.length; i ) {
//Durchlaufe das Array oElements;
If (oElements[i].className==claName) {
//Wenn die Calss-Klasse eines Elements im Array mit dem Parameter claName;
übereinstimmt boxArr.push(oElements[i]);
//Kategorie des durchlaufenen Box-Elements in das BoxArr-Array;
};
};
Return boxArr;
// Nach dem Aufruf des Arrays eine Reihe von Funktionen durchlaufen; das erhaltene Array an die aufrufende Funktion zurückgeben; };
//Den Indexwert des Array-Elements abrufen;
Funktion getMinhIndex (arr,val) {
//arr ist das übergeordnete Array; val ist das aktuelle Element; for(var i in arr){
//Beginnen Sie mit der Durchquerung bei 0;
If(arr[i]==val){
//Suchen Sie den Indexwert, der dem aktuellen Element im Array entspricht;
return i;
//Der Rückgabewert der Funktion ist der Indexwert des aktuellen Elements;
};
};
};
//Überprüfen Sie, ob die Bedingungen für das rollierende Laden von Datenblöcken erfüllt sind;
Funktion checkScrollSlide () {
var oParent = document.getElementById("main");
var oBoxs = getByClass(oParent,"box");
var lastBoxH = oBoxs[oBoxs.length-1].offsetTop Math.floor(oBoxs[oBoxs.length-1].offsetHeight/2);
//Die Höhe des letzten Boxelements vom oberen Rand der Seite (Finden Sie den OffsetTop der letzten Box (oBoxs.lenght-1)) zur Hälfte von sich selbst
var scrollTop = document.body.scrollTop ||. document.documentElement.scrollTop;
//Die Scrolldistanz der Browser-Bildlaufleiste;
// console.log(scrollTop);
var height = document.body.clientHeight ||. document.documentElement.clientHeight;
//Höhe des Browser-Ansichtsfensters;
// console.log(height);
Rückgabe (lastBoxH
};
Zusammenfassung:
Es gibt nichts Besseres, als den Wasserfallfluss zu verwenden, um Fotos anzuzeigen. Das Folgende ist eine Implementierungsmethode für den Wasserfallfluss (die Länge jeder Zeile entspricht der Länge des Browserfensters). Das können Sie ganz einfach herausfinden, indem Sie bei Google suchen.
Meine Idee ist, Bilder einzeln einzufügen. Wenn das Seitenverhältnis dieser Bildzeile unverändert bleibt und die Höhe unter 250 liegt, ist ein Zyklus abgeschlossen, dh diese Zeile wird eingefügt.
Geben Sie dann die nächste Schleife ein, um die nächste Zeile einzufügen.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

JavaScript ist eine in der Webentwicklung weit verbreitete Programmiersprache, während WebSocket ein Netzwerkprotokoll für die Echtzeitkommunikation ist. Durch die Kombination der leistungsstarken Funktionen beider können wir ein effizientes Echtzeit-Bildverarbeitungssystem erstellen. In diesem Artikel wird erläutert, wie dieses System mithilfe von JavaScript und WebSocket implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die Anforderungen und Ziele des Echtzeit-Bildverarbeitungssystems klären. Angenommen, wir haben ein Kameragerät, das Bilddaten in Echtzeit sammeln kann
