img lazyload需要滚动操作才能工作

时间:2012-09-19 20:41:29

标签: jquery lazy-loading

我正在使用Arial Fleser的lazyload用于图像并且它工作得很好,但是,每当我决定将某些图像放在其他东西中时会出现问题,例如水平手风琴,或者水平移动div的东西,就像lazyload插件期望您的图像通过一些垂直滚动显示在视口中,但是如果您的图像将从水平显示,例如,css通过一些jQuery函数离开-1500px,那么您最终得到的就是图像占位符。然后,您必须向上或向下滚动至少1个像素,以便加载图像。

在我开始搞清楚一些粗俗的黑客攻击使某些容器的scrollUp或scrollDown减少1个像素之前,我想我会问:必须有一些方法来告诉lazyload理解不仅仅是滚动动作吗?一旦图像进入视图(通过手段),图像应该加载。或者无论如何,我会选择任何有创意的解决方案,即使它有点俗气。

1 个答案:

答案 0 :(得分:0)

如果我误解了您的请求,请道歉,但我相信您可以设置一些延迟加载选项,以便在您所描述的实例中工作(我认为):

第一个是像水平滚动div那样的实现,你必须告诉lazyload来处理所说的div,如下所示:

$("img.needstoload").lazyload({         
     container: $("#scrollydivid")
});

还有'skip_invisible'参数,您可能需要将其设置为false,因为lazyload默认忽略不可见的图像(直到它重新检查图像以查看是否需要加载时,直到垂直滚动)。