Jquery lazyload mit Ajax

9

Ich verwende lazyload () auf meiner E-Commerce-Website. Lazyload () funktioniert großartig. Ich benutze diesen Code, um das zu tun:

%Vor%

Auch gibt es einige Filter wie Farbe, Preis usw., die einen Ajax ausführen und neues Ergebnis zeigen. Wenn ein neues Ergebnis kommt, funktioniert Lazyload () nicht. Ich weiß, dass ich lazyload () mit live (), delegate () oder on () verwenden muss. Aber ich bin ein Neuling auf JQuery und ich konnte das nicht tun. Kann mir bitte jemand helfen? Meine jquery-Version ist 1.7.2 und wir können on () verwenden.

    
tebdilikiyafet 09.12.2012, 20:56
quelle

7 Antworten

1

HINWEIS: Als diese Antwort angenommen wurde, funktionierte das. Das Lazy Loading Plugin wurde geändert und jetzt ist es kaputt. Ich kann die Antwort nicht ignorieren oder löschen.

Es gibt noch ein weiteres Q & A, das vorschlägt, es als Teil der AJAX-Anfrage zu behandeln, die für das Einfügen des zusätzlichen DOM verantwortlich ist:

Binding Bild Lazy Loading zu neuen Bildern nach AJAX-Anforderung eingefügt

Aber so würde ich es machen:

%Vor%

Demo: jsfiddle

    
Cymen 09.12.2012, 21:09
quelle
5

ist in %Vor%

Aber wenn Sie Ihren Aufruf auf das Lazyload-Plugin zentralisieren möchten, haben Sie 2 Optionen :

Erstens: (nicht empfohlen wegen Leistungseinbruch)

%Vor%

Aber notieren Sie hier den "#container", es ist der Selektor des Containers, wo Sie Ihre neu geladenen Sachen zeigen, so dass der obige Code innerhalb dieses Containers nach neu hinzugefügten Sachen lauscht, um die Lazyload erneut auf neuen Bildern auszuführen,

Zweitens: (empfohlen)

Rufen Sie Ihre benutzerdefinierte Lazyload auf, indem Sie sie zu Ihrer JQuery hinzufügen:

%Vor%

Dann rufe es in all deinen AJAX-Anfragen auf:

%Vor%     
AbdelHady 03.06.2013 17:28
quelle
1

Lazyload für Bilder, die nach dem Laden des Fensters geladen werden (z. B. AJAX), zeigt keine Bilder vor einem Bildlaufereignis an. Dies liegt daran, dass es intern fest codiert ist, um die anfängliche Aktualisierung nach dem Fensterladeereignis auszulösen. Alle obigen Antworten sind vorläufig falsch.

    
Mark 13.04.2013 17:16
quelle
1

Zusätzlich zu AbdelHadys Antwort können Sie neue Bilder bei Erfolg als Callback laden oder when() auf diese Weise verwenden:

%Vor%

NOTA BENE

    
RafaSashi 20.10.2014 21:03
quelle
0

Ich habe dasselbe Problem, wenn ich Wegpunkte mit unendlichem Bildlauf mit Lazy-Load-Bild verwende. (aber nicht am Ajax-Inhalt arbeiten).

und ich habe das Problem damit behoben:

%Vor%

Ich binde die Lazy Load-Konfiguration auf DOMNodeInserted event.

    
antoniputra 05.07.2015 19:55
quelle
-2

Ich benutze den Code unten und es hat funktioniert:

%Vor%     
tebdilikiyafet 10.12.2012 20:57
quelle
-2
%Vor%

funktioniert für AJAX-Bilder. aber das erste Bild wird standardmäßig nicht angezeigt. Das Update wird nicht ausgelöst.

    
alexzg 07.04.2013 04:46
quelle

Tags und Links