Neu wie kann ich Bilder im Content den Lazy Load effekt zuweisen ?

Conny

Sehr aktives Mitglied
7. September 2009
508
49
Wenn man z.B. auf der Startseite viele Bilder hat (Inhalte -> eigene Seiten), so möchte ich daß die Bilder auch "Lazy Load" Effekt haben.
Wie muss ich diese Bilder einfügen.
HTML:
<img
 alt="mein Testbild"
 data-src="media/image/product/1206/md/bild.jpg" 
data-id="1"
 style="max-height: 344px;"
 src="media/image/product/1206/md/bild.jpg"
>

Reicht es dafür das "data-src" Attribut zu füllen?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.369
244
Okay, mein Fehler. Bin davon ausgegangen, dass JTL das lazyLoad für sämtliche Bilder triggert. Dem ist jedoch nicht so, stattdessen greift es nur bei Bildern innerhalb der Artikellisten.
 

Conny

Sehr aktives Mitglied
7. September 2009
508
49
Ok. Aber das kann man doch bestimmt auch nachprogrammieren, dass es so funktioniert wie in den Artikellisten.
Muss ich da noch ein js einbinden ?
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
4.902
891
Berlin
Theoretisch ja, vorsichtshalber solltest du den Bildern noch eine Klasse geben, damit da nichts durcheinander kommt.
Als Klasse verwende ich hier jetzt mal lazyloader

Code:
$(function() {
  $("img.lazyloader").lazy(($(window).height() / 2), function() {
   // hier blabla wenn in der Zwischenzeit Schmetterlinge über den Bildschirm fliegen sollen
  });
});
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.369
244
Ich würde den Selektor anpassen, sodass nur Bilder die noch KEIN src-Attribut haben, berücksichtigt werden.
Code:
$(function() {
  $("img:not([src])").lazy(($(window).height() / 2), function() {
   // hier blabla wenn in der Zwischenzeit Schmetterlinge über den Bildschirm fliegen sollen
  });
});
 

Conny

Sehr aktives Mitglied
7. September 2009
508
49
Hi, danke für die Hilfe

@martinwolf - Wie soll ich das Bild dann einbinden ?
HTML:
       <img alt="mein Testbild" class="lazy img-responsive" src="media/image/product/1206/md/bild.jpg" />

Und bei dem Script kann ich den Spinner angeben - wäre das so richtig?
HTML:
$(function() {
  $("img:not([src])").lazy(($(window).height() / 2), function() {
   // hier blabla wenn in der Zwischenzeit Schmetterlinge über den Bildschirm fliegen sollen
   <img src="preloader.gif />
  });
});
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.369
244
@Conny:

Das Bild benötigt anstelle des src-Attributes ein data-src. Klasse brauchst du keine bestimmte zuweisen, da reicht img-responsive, damit das Bild responsive skaliert. Die Funktion triggert für alle Bilder die KEIN src-Attribut haben.

HTML:
<img alt="mein Testbild" data-src="media/image/product/1206/md/bild.jpg" />

Die JS Funktion kann auf ein Minimum reduziert werden:

JavaScript:
$(function() {
    $("img:not([src])").lazy();
});

Anders als von CSS-Umsetzung kommentiert, wird
// hier blabla wenn in der Zwischenzeit Schmetterlinge über den Bildschirm fliegen sollen
nicht während des Ladens ausgeführt, sondern danach. Es ist ein callback. Auch der Treshold ist nicht notwendig. Dieser sorgt nur dafür, dass die Bilder geladen werden, bevor diese um den entsprechenden Pixelwert in den sichtbaren Bereich einlaufen.
 

golvreven

Aktives Mitglied
1. Oktober 2020
151
13
Hallo Martin,

ich habe die JS-Funktion bei uns im Bereich "Custom Javascript" des Salepix Plugins hinterlegt. Danach habe ich testweise die Bildpfade von src auf data-src geändert. Leider werden die entsprechenden Bilder nicht geladen.

Beim zweiten Versuch habe ich die JS-Funktion angepasst, weil die Klasse img-responsive hinterlegt ist.

$(function() {
$("img.img-responsive").lazy();
});

Ich habe auch src="[Bildpfad]" neben data-src="[Bildpfad]" stehen lassen. Leider funktioniert es nicht. Eventuell muss die Funktion an anderer Stelle hinterlegt werden.

Viele Grüße
g.
 
Zuletzt bearbeitet:

golvreven

Aktives Mitglied
1. Oktober 2020
151
13
Hallo noch einmal,

es funktioniert jetzt! Ich habe die JS-Funktion von css-umsetzung hinterlegt:

$(function() {
$('img.[css-klasse]').lazy(($(window).height() / 2), function() {
//
});
});

Die Bilder werden per lazyload nun geladen, wenn sie nur mit data-src hinterlegt sind. Ein Stellvertreterbild verwende ich nicht. Die Lösung ist natürlich noch nicht optimal im Hinblick auf Layout Shifting.

Allerdings kann ich nicht für alle Content-Bilder sprechen. Grafiken, die im Head-Bereich und im Footer eingebettet sind, kann ich mit der Funktion nicht auf der Startseite ansprechen. Auf der Startseite werden die Bilder dann weiterhin nicht über den Pfad data-src gefunden. Woran kann das liegen?

Viele Grüße
g.
 

golvreven

Aktives Mitglied
1. Oktober 2020
151
13
Und noch eine Wortmeldung zu dem Thema.

Leider gibt es mit der oben genannten Lösung ein Problem bei paginierten Seiten. Wenn ich beispielsweise ein Bild im SEO-Text unter Artikellistings per lazyload laden lasse, wird dieses nicht mehr geladen, wenn ich auf die ursprüngliche Seite zurückkehre. Ich meine es so:

1. Aufruf einer ersten Seite eines Artikellistings mit Bild unterm Listing > Bild wird per lazyload geladen
2. Aufruf einer zweiten Seite eines Artikellistings
3. Rückkehr von der zweiten auf die erste Seite eines Artikellistings mit Bild unterm Listing > Bild wird nicht mehr geladen

Woran kann das liegen?

Viele Grüße
g.
 

golvreven

Aktives Mitglied
1. Oktober 2020
151
13
Probier mal diesen Funktion, innerhalb von $(document).ready(){ /*hier*/ } aufzurufen.
Hallo wspread,

das macht leider keinen Sinn. Denn dann werden beispielsweise die Bilder in Artikellistings oder Slidern GAR nicht geladen. Ich muss dazusagen, dass unser Template lazyload von vornherein ausführt, jedoch nur für Artikellistings und Slider. Diese Automatik wird durch Deinen Vorschlag wahrscheinlich ausgehebelt.

Mein Problem ist: Beim Zurückblättern scheint die vormals aufgerufene Seite mit Artikellisting nicht wieder komplett geladen zu werden, sodass die von mir ergänzte lazyload-Funktion nicht ausgeführt wird.

Viele Grüße
g.
 

frijk

Gut bekanntes Mitglied
16. Juni 2009
209
6
Grundsätzlich: gibt es eine ähnliche Funktion wie für Bilder auch für <picture>-Elemente? Also können die srcset auch per Lazy-Funktion nachgeladen werden?

Aktuell noch Shop4, Vorbereitungen auf Update für Shop5 laufen schon, dauert aber noch ein bischen...

Danke vorab!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Wie kann ich für einen Artikel einen alternativen Hersteller-Artikelnamen mitführen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie kann ich die Artikelmerkmale auf der Produktseite im Reiteranzeigen lassen anstatt unter der Beschreibung? Templates für JTL-Shop 0
Neu Wie kann ich den neuen Worker2 automatisch starten User helfen Usern - Fragen zu JTL-Wawi 9
Neu Wie kann ich die Bild Anzeigegröße der Kategorie ändern? Allgemeine Fragen zu JTL-Shop 0
Neu Wie kann ich ein PlugIn in Shop5 deinstallieren? Plugins für JTL-Shop 3
Neu Wie kann ich Amazon FBA Aufträge in der Auftragsübersicht filtern? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Wie kann ich EAN in ASIN wandeln? User helfen Usern 8
Neu wie kann ich mehrere Kategorien auf einmal löschen ? User helfen Usern - Fragen zu JTL-Wawi 4
Neu wie kann man die Artikelgewichte mit auf den Picklisten angeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Wie kann man geschlossene Lagerkisten mit "Füllstand" kennzeichnen? Smalltalk 1
In Bearbeitung Fehler beim Kassiervorgang / Kundin will Geld per Üwerweisung / Wie kann man das anstellen? Allgemeine Fragen zu JTL-POS 3
Webinar: Meeting the new normal - Wie Corona das Verhalten der Onlineshopper änderte und was davon bleibt Messen, Stammtische und interessante Events 0
Neu Beleg an Eingangsrechnung anhängen. Wie geht das? Allgemeine Fragen zu JTL-Shop 0
Neu Wie storniert Ihr Internetmarken, speziell Warenversand International? User helfen Usern - Fragen zu JTL-Wawi 0
Nach WaWi-Update wie Variantenkombis / Kindartikel erstellen!? JTL-Wawi 1.6 2
Neu Wie buche ich den Wareneingang bei einer Umlagerung aus meinem externen Kommissionslager (kein WMS Lager) in mein WMS Lager? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie macht ihr die Rückabwicklung eine Kaufs? inkl. Rückzahlung Ebay-Payment User helfen Usern - Fragen zu JTL-Wawi 1
Wie macht ihr die Rückabwicklung bei Ebay Rückläufer? Inkl. Rückzahlung Ebay-Paymant? JTL-Wawi 1.6 1
Neu Versandbenachrichtigung (Digitaler Lieferschein): Wie Textvorlage designen, formatieren, gestalten? Lieferschein anhängen möglich? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Verkauf eines Komplettkitts der mehrere (Unter-)Kits enthält = Stückliste in Stückliste geht nicht !? wie ist die Vorgehensweisen dann?? JTL-Wawi - Fehler und Bugs 2
Gelöst Auftrag über Packtisch mit vielen Positionen ohne Artikelscan direkt ausliefern, wie? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 6
Neu Nova - Wie passe ich die Scrollbar an? Templates für JTL-Shop 0
Neu Anzeige der UVP in der Listenansicht. Wie? Allgemeine Fragen zu JTL-Shop 0
Neu Kein Name in eBay Bestellung! Wie geht das? eBay-Anbindung - Fehler und Bugs 3
Seid 1.6 exportiert er Versandetiketten, die außen wie vorher allerdings sich nicht einscannen lassen von DPD aus ? JTL-Wawi 1.6 3
Neu Auftragssplit. Wie Zahlung aufteilen? Installation von JTL-Wawi 2
Neu Bestellterminal wie bei McDonalds User helfen Usern 10
Webinar - JTL-Wawi ganz nach Eurem Format: Wie Ihr individuelle Farben und Symbole festlegt Messen, Stammtische und interessante Events 0
Webinar - Pflegeleicht wie nie: Die Neuerungen am Artikel in JTL-Wawi 1.6 Messen, Stammtische und interessante Events 0
Neu Wie wird Skonto in der WAWI verbucht? Arbeitsabläufe in JTL-Wawi 4
Neu EU Auslandsbestellung, wie wählt JTL das korrekte Buchungskonto ? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie handhabt ihr das Ausliefern von Artikeln (WMS Lager) aus verschiedenen Lägern? Arbeitsabläufe in JTL-Wawi 0
Neu Wie vorgehen beim Connector Update? Modified eCommerce-Connector 2
Neu Wie bekomme ich die Zahlungsart von Mollie auf die Rechnungen? "paymentmethod" User helfen Usern - Fragen zu JTL-Wawi 6
Neu JTL & Amazon EU Marktplätze in verschieden Sprachen: Wie macht Ihr das? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Tabs in eazyAuction Vorlage einfügen - wie geht man am besten vor? eBay-Designvorlagen - Fehler und Bugs 1
Neu Wie gebe ich den reinen Steuerbetrag im Angebot an Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Eigene Ansicht, wie viele Pakete pro Tag/Zeitraum mit welcher Versandart verschickt wurden Individuelle Listenansichten in der JTL-Wawi 11
Neu nicht zugeordneter Amazon-Artikel - wie auf Pickliste ?! User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie bekomme ich die Anzeige der Lieferzeit je VarKombi in der Artikelansicht im JTL-Shop umgesetzt? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Warenkorbmatrix, wie ? Templates für JTL-Shop 6
Neu Hosting für JTL-Shops kleiner 4.06.18 - wie updaten? Betrieb / Pflege von JTL-Shop 2
Neu Wie verändere ich die Farbe vom Megamenü Dropdown? Templates für JTL-Shop 1
Neu Bestellungen werden storniert oder Kunden bekommt Geld zurück. Wie gehe ich vor? User helfen Usern - Fragen zu JTL-Wawi 2
Wie setze ich einen reinen B2B Shop auf ? Einrichtung JTL-Shop5 8
Webinar - eFulfillment europaweit – Wie Sie mit Orange Connex Ihre Wertschöpfung steigern Messen, Stammtische und interessante Events 0
Datanorm 5.0 - kann diese in JTL importiert werden und ist ein automatischer stündlicher Import irgendwie möglich? JTL-Wawi 1.6 3
Storno mit ausgangszahlung -> Ausgangszahlung kann nicht erstellt werden JTL-Wawi 1.6 0
Neu Wo kann ich das Verpackungsgewicht eingeben? Allgemeine Fragen zu JTL-Shop 7
Eigene Felder im Auftrag (Automatisch generiert) - Braucht man die? Kann man die ohne bedenken löschen? JTL-Wawi 1.6 0

Ähnliche Themen