修复旧版以background-image背景图方式加载图片时用 placeholder 图片提前占位功能失效的bug
码云:完整代码
图片调用方法:
为图片加入class名lazy 图片路径引用方法用data-original
<style>
/* 以背景图方式加载时需要设置该样式 */
.commodity-img{
width: 765px;
height: 574px;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
flex-shrink: 0;
}
</style>
background-image背景图方式加载图片
<div class="lazy commodity-img" data-original="img/bmw_m1_hood.jpg"></div>
<div class="lazy commodity-img" data-original="img/bmw_m1_side.jpg"></div>
<div class="lazy commodity-img" data-original="img/viper_1.jpg"></div>
<div class="lazy commodity-img" data-original="img/viper_corner.jpg"></div>
<div class="lazy commodity-img" data-original="img/bmw_m3_gt.jpg"></div>
<div class="lazy commodity-img" data-original="img/corvette_pitstop.jpg"></div>
img方式加载图片
<img class="lazy" data-original="img/bmw_m1_hood.jpg" width="765" height="574" alt="BMW M1 Hood">
<img class="lazy" data-original="img/bmw_m1_side.jpg" width="765" height="574" alt="BMW M1 Side">
<img class="lazy" data-original="img/viper_1.jpg" width="765" height="574" alt="Viper 1">
<img class="lazy" data-original="img/viper_corner.jpg" width="765" height="574" alt="Viper Corner">
<img class="lazy" data-original="img/bmw_m3_gt.jpg" width="765" height="574" alt="BMW M3 GT">
<img class="lazy" data-original="img/corvette_pitstop.jpg" width="765" height="574" alt="Corvette Pitstop">
<script src="jquery-1.11.0.min.js"></script>
<script src="jquery.lazyload.js?v=1.9.1"></script>
<script type="text/javascript" charset="utf-8">
$(".lazy").lazyload({
placeholder : "img/image_pp.jpg", // 用图片提前占位,值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏
effect: "fadeIn", // 载入使用何种效果,effect(特效),值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn
// threshold: 200, // 提前开始加载,值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉
// event: 'click', // 事件触发时才加载,值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加载,后两个值未测试…
// container: $("#container"), // 对某容器中的图片实现效果,值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片
failurelimit : 10, // 图片排序混乱时,值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题.
});
</script>
转载请附上原文出处链接。