lazyload懒加载和swiper轮播懒加载的用法

对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度,比如商城网页。

lazyload使用方法:

载入 JavaScript 文件:

<script src="jquery.js"></script>
<script src="jquery.lazyload.js"></script>

修改 HTML 代码中需要延迟加载的 IMG 标签:

<!--
将真实图片地址写在 data-original 属性中,而 src 属性中的图片换成占位符的图片(例如 1x1 像素的灰色图片或者 loading 的 gif 图片)
添加 class="lazy" 用于区别哪些图片需要延时加载,当然你也可以换成别的关键词,修改的同时记得修改调用时的 jQuery 选择器
添加 width 和 height 属性有助于在图片未加载时占满所需要的空间
-->
<img class="lazy" src="grey.gif" data-original="example.jpg" width="640" heigh="480">

调用 Lazy Load:

$('img.lazy').lazyload();

参数参考网址:http://code.ciaoca.com/jquery/lazyload/

Lazy Load遇到的问题:当图片只指定width而没有设定height的时候,图片未加载时的占位是width=height的大小;

 

项目中遇到的问题,当页面中同时使用swiper插件做图片轮播的时候,就不能使用Lazy Load来处理轮播的图片,这时就需要使用swiper的延迟加载参数-lazyLoading:true;

具体使用方法:(http://www.swiper.com.cn/api/Images/2015/0308/213.html)

设为true开启图片延迟加载,使preloadImages无效。
需要将图片img标签的src改写成data-src,并且增加类名swiper-lazy。
背景图的延迟加载则增加属性data-background(3.0.7开始启用)。

<div class="swiper-container">
    <div class="swiper-wrapper">
        <div class="swiper-slide">
            <img data-src="path/to/picture-1.jpg" class="swiper-lazy">
            <div class="swiper-lazy-preloader"></div>
        </div>
        <div class="swiper-slide">
            <img data-src="path/to/picture-2.jpg" class="swiper-lazy">
            <div class="swiper-lazy-preloader"></div>
        </div>
        <div class="swiper-slide">
            <div data-background="path/to/picture-3.jpg" class="swiper-lazy">slide3</div>
        </div>
    </div>
</div> 
<!-调用->
<script> 
var mySwiper = new Swiper('.swiper-container',{
  lazyLoading : true,
})
</script>

 swiper lazy遇到的问题:当图片只指定width而没有设定height的时候,图片未加载时的占位是height=0的大小;

posted @ 2017-04-17 19:47  moumou0213  阅读(16705)  评论(0编辑  收藏  举报