Frage

Ich arbeite mit Faule Ladung um Bilder nur zu laden, wenn sie sichtbar sind und die Bilder, die zuerst in einem Popout-Menü sichtbar sind, nicht geladen werden.Alle Bilder befinden sich innerhalb <li> elemente auf einer ungeordneten Liste.Wenn ich anfange, in der Liste nach unten zu scrollen, werden die Bilder wie gewünscht geladen.Aber wie bekomme ich die wenigen ersten Bilder angezeigt, wenn das Menü zum ersten Mal geöffnet wird?

Ich habe versucht, das auszulösen scroll ereignis, zusammen mit anderen Ereignissen, aber keiner von ihnen schien zu funktionieren.Der <ul> befindet sich in einem Menü, das aus einer "Infoleiste" (nur eine Leiste mit Links oben auf der Seite) hervorgeht.Ich dachte, vielleicht hat das etwas damit zu tun, dass sie (die Bilder) beim Laden der Seite nicht sofort sichtbar sind?

Hier ist meine Lazyload-Initialisierung:

$("img.lazy", this.list).show().lazyload({
  effect: "fadeIn",
  container: this.list,
  threshold: 50
});

$(this.list).trigger("scroll"); // tried this
$(document).trigger("scroll"); // and that

// this.list is the unordered list

Ich habe auch versucht, das Plugin mit zu initialisieren mouseenter und scrollstop wie die event eigenschaften, die dann diese Ereignisse auslösen, kein Glück.

War es hilfreich?

Lösung

Zweiten this.list ist, wo du falsch gehst.Lazy Load funktioniert weiter <img> elemente und nicht auf <ul>

$("img.lazy", this.list).trigger("scroll"); // should work
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top