触发Lazy Load jQuery插件的滚动事件

时间:2014-07-30 14:35:15

标签: jquery html javascript-events jquery-lazyload

我正在使用Lazy Load加载图像,只有在可见时才能加载图像,并且弹出菜单中首次显示的图像不会加载。所有图像都位于无序列表中的<li>元素内。当我开始向下滚动列表时,图像开始按原样加载。但是,如何在首次打开菜单时显示少量第一张图像?

我试图触发scroll事件以及其他事件,但它们似乎都没有效果。 <ul>位于从&#34; infobar&#34;弹出的菜单中。 (只是页面顶部有链接的栏)。我想也许这与他们(图像)在页面加载时不易看到的事实有关?

这是我的lazyload初始化:

$("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

我还尝试使用mouseenterscrollstop作为event属性初始化插件,然后触发这些事件,没有运气。

1 个答案:

答案 0 :(得分:3)

第二个this.list是你出错的地方。延迟加载适用于<img>元素,而不适用于<ul>

$("img.lazy", this.list).trigger("scroll"); // should work