تشغيل حدث التمرير للمكون الإضافي Lazy Load jQuery
-
21-12-2019 - |
سؤال
أنا أعمل مع تحميل بطيئ لتحميل الصور فقط عندما تكون مرئية ولا يتم تحميل الصور التي تكون مرئية لأول مرة من القائمة المنبثقة.جميع الصور موجودة داخل <li>
العناصر في قائمة غير مرتبة.عندما أبدأ بالتمرير إلى أسفل القائمة، يبدأ تحميل الصور كما ينبغي.ولكن كيف يمكنني الحصول على الصور القليلة الأولى التي تظهر عند فتح القائمة لأول مرة؟
لقد حاولت إثارة scroll
الحدث، إلى جانب أحداث أخرى، ولكن يبدو أن أياً منها لم ينجح.ال <ul>
يقع ضمن قائمة تنبثق من "شريط المعلومات" (مجرد شريط يحتوي على روابط في أعلى الصفحة).كنت أفكر ربما كان لهذا علاقة بحقيقة أنها (الصور) ليست مرئية بسهولة عند تحميل الصفحة؟
هذه هي تهيئة التحميل البطيء الخاصة بي:
$("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
لقد حاولت أيضًا تهيئة البرنامج المساعد باستخدام mouseenter
و scrollstop
كما event
خصائص، ثم اثارة تلك الأحداث، لا حظ.
المحلول
الثاني this.list
هو المكان الذي تسير فيه بشكل خاطئ.يعمل التحميل البطيء على <img>
العناصر وليس على <ul>
$("img.lazy", this.list).trigger("scroll"); // should work