Lazy Load(1.7.0)中文文档 -- 延迟加载图片的jQuery插件(3)
容器
当要延迟加载的图片全摆在一个容器中.
只需把 container 属性指向摆放 img 的容器的对象.
css代码:
[css]
#container {
height: 600px;
overflow: scroll;
}
#container {
height: 600px;
overflow: scroll;
}
js代码:
[javascript]
$("img.lazy").lazyload({
container: $("#container")
});
$("img.lazy").lazyload({
container: $("#container")
});废话不多说,直接看Demo ,不单竖着的可以, 横着也行Demo .
When Images Are Not Sequential ( 当图片并非有序呈现在浏览器窗口的时候 )
原文:After scrolling page Lazy Load loops though unloaded images. In loop it checks if image has become visible. By default loop is stopped when first image below the fold (not visible) is found. This is based on following assumption. Order of images on page is same as order of images in HTML code. With some layouts assumption this might be wrong. You can control loading behaviour with failure_limit option.
这段话怎么读怎么难理解.经过网上一番搜索,总算弄懂了.
Lazy Load 有一个循环查找 img 的机制.根据 HTML 文档的布局从上往下查找,当找到第一个并未显示/加载的 img 时,就会停止往下查找.(其实就是对 $("img.lazy") 这个对象(组)进行顺序查找)
那这个 failure_limit 的属性有什么用呢?
现在网站设计时,都会用到大量的定位样式,如: float 和 position , 这样在浏览器呈现的布局效果和 HTML 文档中的 DOM 顺序有很大差异.
这样就会存在一种情况,某 <img> 标签已出现在屏幕上,但它却无法显示!!
因为它在 HTML 文档中的实际位置排在了那些还没有显示的 <img> 标签后面, 这样会导致显示在屏幕上的这个 <img> 标签无法加载相应的图片.
当Lazy Load 在找到第一个未显示的 <img> 标签时,查找已经被终止了, 并没有继续往下遍历.
所以这个时候,就可以使用failure_limit属性.
[javascript]
$("img.lazy").lazyload({
failure_limit : 10
});
$("img.lazy").lazyload({
failure_limit : 10
});
这样 Lazy Load 会查找到第10个未显示的 <img> 标签处.
当在图片多且布局复杂的页面时, failure_limit 的作用就很大了.
原文还温馨提示:If you have a funky layout set this number to something high. 如果你的网站布局很"变态",建议把该值调得更高.
延迟下载图片
可以通过自定义事件,然后通过 setTimeout 来设置延迟触发该事件.
[javascript]
$(function() {
相关新闻>>
- 发表评论
-
- 最新评论 更多>>