Erlebe die Zukunft des Webseitenladens: Lazy Load – die revolutionäre Technologie, die deine Seite blitzschnell lädt, ohne dabei kostbare Ressourcen zu verschwenden. Entdecke die Leichtigkeit des Surfens ohne lästige Wartezeiten.
Basis-Code
Wir fangen damit an uns Dateien zu erstellen. Die index.html, scripts.js und styles.css. Die index.html bekommt den Basis-Code und wir binden unsere Dateien mit ein:
Dieser Code implementiert das Konzept des Lazy Loadings für Bilder auf einer Webseite mithilfe von JavaScript. Hier ist eine Erklärung des Codes:
1. `const lazyClass = "lazy-load";` definiert eine Konstante `lazyClass`, die den Namen der Klasse speichert, die den Bildern zugewiesen wird, die Lazy Loading verwenden sollen. In diesem Fall ist es "lazy-load".
2. `const lazyImages = document.querySelectorAll(`.${lazyClass}`);` verwendet die `document.querySelectorAll`-Methode, um alle Elemente auf der Seite auszuwählen, die die Klasse `lazy-load` haben. Diese Elemente werden in der Variable `lazyImages` gespeichert.
3. `const lazyObserver = new IntersectionObserver((elements) => { ... });` erstellt eine neue Instanz des `IntersectionObserver`, der darauf wartet, dass bestimmte Elemente (in diesem Fall die Bilder) in den sichtbaren Bereich des Browserfensters gelangen.
4. Die Funktion, die an den `IntersectionObserver` übergeben wird, wird jedes Mal aufgerufen, wenn sich der Status eines beobachteten Elements (in diesem Fall eines Bildes) ändert. Es wird überprüft, ob das Element (Bild) im sichtbaren Bereich liegt (`element.isIntersecting`). Wenn dies der Fall ist, wird die Funktion `showImage(image)` aufgerufen, um das Bild zu laden und anzuzeigen. Dann wird das Bild aus der Beobachtung entfernt, um unnötige Abfragen zu vermeiden.
5. `lazyImages.forEach((image) => { lazyObserver.observe(image); });` ruft `observe` für jedes Bild in `lazyImages` auf, um den `IntersectionObserver` für jedes Bild zu aktivieren.
6. `function showImage(image) { ... }` definiert die Funktion `showImage`, die ein Bild entgegennimmt und es anzeigt. Zuerst wird die `src`-Eigenschaft des Bildes auf den Wert von `data-src` gesetzt, um das eigentliche Bild zu laden. Dann wird die Klasse `lazy-load` entfernt, damit das Bild nicht erneut geladen wird.
Zusammenfassend sorgt dieser Code dafür, dass Bilder auf der Seite nur dann geladen werden, wenn sie in den sichtbaren Bereich des Bildschirms gelangen, was die Ladezeit der Seite verbessert und die Benutzererfahrung optimiert. Nicht erschrecken die Bilder sind erstmal nichtmehr zu sehen, wir müssen den image Container noch umschreiben.
data-src
Aus der src müssen wir data-src machen, dann sollte es funktionieren.
Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten
zu können und die Zugriffe auf unsere Website zu analysieren.
Sie akzeptieren unsere Cookies, wenn Sie fortfahren diese Webseite zu nutzen.
Datenschutzerklärung.