这里使用了 jquery 的 lazyload 插件
1.引入 jquery 和插件
<script src="jquery-1.11.0.min.js"></script> <script src="jquery.lazyload.js?v=1.9.1"></script>
2.图片设置 data-original 属性
<img class="a_img" data-original="img/1.jpg"> <img class="a_img" data-original="img/2.jpg"> <img class="a_img" data-original="img/3.jpg"> <img class="a_img" data-original="img/4.jpg"> <img class="a_img" data-original="img/5.jpg"> <img class="a_img" data-original="img/6.jpg">
也可以不设置 class 属性,不设置的话 在jquery中必须使用 img
3.js
<script>$("img").lazyload({effect: "fadeIn"});</script>
或
<script>$("img.a_img").lazyload({effect: "fadeIn"});</script>
功能即实现
更多参数:
$("img.a_img").lazyload({ placeholder : "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg", //用图片提前占位,这里是一张64位1px的gif编码图片,可直接放在src属性中使用) // placeholder,值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏 effect: "fadeIn", // 载入使用何种效果 // effect(特效),值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn threshold: 200, // 提前开始加载 // threshold,值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉 //event: 'click', // 事件触发时才加载 // event,值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加载,后两个值未测试… //container: $("#container"), // 对某容器中的图片实现效果 // container,值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片 failurelimit : 10 // 图片排序混乱时 // failurelimit,值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题. });