您好,欢迎来到网址免费提交!网站收录,值得选择!
当前位置:网址免费提交 » 站长资讯 » 免费资源 » 技术文章 » 文章详细

缓冲加载图片的jQuery插件lazyload.js 真正省资源用法

来源:站长分类目录 浏览:238次 时间:2014-10-26

        jQuery插件Lazy Load.js,是用来缓冲加载图片的。如果一个网页内容很长有很多图片的话,下载图片就需要很多时间。而这款插件,会检测你的滚动情况,只有你要看到那 个图片的时候,它才会从请求下载图片,然后显示出来。应用了这个插件,可以在需要显示图片的时候,才下载图片,所以可以减少服务器的压力,避免不必要的资 源下载。如果一个人不看下面的图片,那加载下面的图片就是一种浪费。

        Lazy Load 插件原理

        修改目标 img 的 src 属性为 orginal 属性,从而中断图片的加载。检测滚动状态,然后把可视网页中的 img 的 src 属性还原加载图片,制造缓冲加载的效果。

但是现在,很多javascript大牛分析得出,这个插件其实并没有真正的缓加载效果。确实是这样,官方也已经给出了说明和解决方法了。

        问题原因:在新版的浏览器中,即使你删除了 Javascript 控制的 src 属性,浏览器仍然会去加载这个图像。

        解决方法:直接修改 HTML 的结构,在 img 标签中添加新的属性,把 src 属性的值指向占位图片,添加 data-original 属性,让其指向真正的图像地址。

        例如:<img data-original=“img/example.jpg” src=“img/grey.gif”>

        这样就需要先分析一下插件的优缺点,再决定是否要使用。

        使用:

        1.必须按照这种结构才有实际作用,需要对输出进行定义。

        2.可以节约服务器资源,并且有较好的用户体验。

        3.如果图片很大,当用户滚动到目标位置,需要较长时间下载。

        不使用:

        1.增加服务器压力,浪费系统资源。

        究竟使用不使用,还是要看你自己的实际需求。如果你图片比较少,就不必使用了,如果你图片比较多,可以考虑一下。但是,使用的话,你可能需要把每一 个img 标签上自己加上这个属性,会稍微麻烦一点。jeson的好东西分享博客上,就用了这个插件,不过没用使用官方说的那种结构,要的只是一个缓冲加载的效果。

        开始使用 lazyload.js

        第一步:加载相关文件。

        很明显,你要加载jquery和这个插件。你可以使用以下代码,加载这几个文件:

<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>

        第二步:定义图片结构。

        按照官方的建议,定义你的img结构:

<img src="img/grey.gif" data-original="img/example.jpg" width="640" heigh="480">

        第三步:触发这个插件,生效。

        激活以下,你就可以在目标中使用了。

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

        lazyload.js 高级使用方法:

        下面部分来自官方文档,将官方文档进行了一下简单的翻译。

        更周全的做法

        大家不得不思考这样一个问题。我们定义了这样一个结构,那么网页中,就不会加载源图像了。只有当 Javascript 执行,才会显示这个源图像。如果用户的浏览器不支持或者用户关掉了支持 Javascript 的选项,那么我们的这个图像就无法显示出来。也就是说,如果没有 Javascript 的支持,我们的图像就无法显示出来。

        应对这个问题,我们需要引入noscript 标签。大体思路如下:用 noscript 包含真实的图像位置,当浏览器不支持 Javascript,直接显示图像。对现有图像,隐藏处理,使用 show()方法触发显示。这样,如果浏览器不支持 Javascript,我们自定义的 img 就不会出现,而显示 noscript 里面的图像。具体实现代码如下:

<img src="img/grey.gif" data-original="img/example.jpg" width="640" heigh="480">
<noscript><img src="img/example.jpg" width="640" heigh="480"></noscript>
<script type="text/javascript"></script>$("img.lazy").show().lazyload();</script>

        提前加载

        默认的情况是,当浏览器滚动到图片位置的时候,插件开始加载。这样,用户可能首先看到的是一个空白图像,然后再缓慢出现。如果你想在用户滚动之前,提前加载这个图像,你可以配置一下参数。

$("img.lazy").lazyload({ threshold : 200 });

        threshold 这个参数,就是用来提前加载的。上面这个语句的意思是,当距离图片还有200像素的时候,就开始加载图片。

        自定义触发事件

        默认的触发事件,是滚动,当你滚动的时候,就会检查然后加载。你可以使用event属性,设置你自己的加载事件,之后你可以自定义触发这个事件的条件,然后去加载图像。

$("img.lazy").lazyload({ event : "click" });

        自定义显示效果

        默认的图片实现效果,就是没有效果,下载完成之后,直接显示出来。这样的用户体验并不好,你可以设置 effect 属性,来控制显示图片的效果。例如

$("img.lazy").lazyload({ effect : "fadeIn" });

        fadeIn的效果就是,改变图片的透明度,渐现的方式出现。效果: effect demo page

        把图像插入某个容器

        大家如果使用智能手机的话,经常去应用网站下载应用,他们通常使用一个横着的容器,放一些手机截图。使用 container 属性,能很轻松在容器中实现缓冲加载。首先,我们需要用css定义这个容器,然后用这个插件进行加载。效果:vertical

#container { height: 600px; overflow: scroll; }
$("img.lazy").lazyload({        
     container: $("#container")
});

        加载不可见图像

        有部分图像是不可见的,我们对其加上类似 display:none 等属性的图像。默认的情况下,这个插件是不会加载隐藏的不可见图像。如果我们需要用它加载不可见图像,我们需要将 skip_invisible 设置为 false

$("img.lazy").lazyload({ skip_invisible : false });

         原文出处:我爱水煮鱼

推荐站点

  • 纸质化妆盒_环保眼影盒纸质化妆盒_环保眼影盒

    1、纸质眼影盒特点,产品多元化:工艺纸盒具有重量轻、品种多样化的特点。不像注塑的产品由于磨具限制的原因,款式形状单一。2、环保优势:纸质眼影盒内外选用的均是纸质的环保材料,具有可回收、可降解等特点,相比现有的眼影盒通过注塑成型,更加环保,可有效防止环境的污染和破坏不但可以重复利用,还可以用废弃的纸包装制品造肥。3、技术优势:纸包装材料伸缩性小,不受热和光的影响,具有更好的稳定性;纸的不透明性,能够提供隐蔽隔离,使某些产品不能从包装外部看到,满足了某些产品的包装需要。工艺纸盒还具有良好的透气性、柔软性、强度及可控的撕裂性能;使产品有很好的弹性和韧性,可以对被包装物提供一定的保护作用。 纸质化妆盒、又叫纸质眼影盒、纸质腮红盒、眼影纸本、手工眼影本、眼影书本等叫法、纸质化妆品盒有优势。。。

    www.f58f.com
  • 免费信息发布_免费网址提交_免费供求信息_企业平台_企业资讯平台-咱的商务网免费信息发布_免费网址提交_免费供求信息_企业平台_企业资讯平台-咱的商务网

    咱的商务网是一个集企业平台、企业资讯、免费信息发布、免费网址提交,免费供求信息等频道于一体的互联网平台。 网站定位精确,服务专业、稳定,网站上线以后受到广大用户的良好反馈。 咱的商务网是企业间(B2B)电子商务信息沟通的桥梁。面向国内外供应商、采购商、贸易商、生产商提供产品信息服务。以会员的形式,面向中小型投资者提供各类型供求、合作、技术信息发布,并以其为基础,拓展企业信息库、产品信息库和相关的个性化服务。 为广大企业提供系统、丰富、全面、深入、及时的信息资讯、技术项目、市场信息、会展信息和人才信息等。 咱的商务网是倡导一站式服务理念的综合性信息服务平台,已成为企业、用户实现信息化和获取资讯的门户。 本网站免费注册会员、免费信息发布、网站免费收录、b2b信息发布平台、信息网站大全、商务信息网、免费收录网站、网址免费提交、供求信息发布。

    www.zandeb2b.com
  • beauty_manicures_pedicures | EverlastingBeautybeauty_manicures_pedicures | EverlastingBeauty

    Everlasting Beauty Co.,Ltdd offers beauty, manicure、pedicure, eyelashes, nail, nail art, nail supply, nail art tools, beauty tools etc. and we are an union team of professional manufacturers for beauty products located in Zhejiang Province China since 2003

    www.elbeautyhouse.com
  • 免费发布信息网站大全_大中国商业信息网免费发布信息网站大全_大中国商业信息网

    大中国商业信息网免费发布不限制条数,大中国商业信息网是一个可以免费发布分类信息的B2B平台。可免费发布您的产品信息!便捷免费的B2B供求信息发布平台

    www.greatcnb2b.com
  • 免费发布信息网站大全_大中华电子商务网免费发布信息网站大全_大中华电子商务网

    大中华电子商务网免费发布不限制条数,大中华电子商务网是一个可以免费发布分类信息的B2B平台。可免费发布您的产品信息!便捷免费的B2B供求信息发布平台

    www.greatercnb2b.com