JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】

本文实例讲述了JS图片延迟加载插件LazyImgv1.0用法。分享给大家供大家参考,具体如下:

注:LazyImg 必须定义lazy-data属性,属性值是src的图片路径

引入JS文件:

<script type="text/javascript" src="js/lazyImg.v1.0.js"></script>

默认情况下: 在IMG中满足以任何一个条件,都会加载图片;

1、没有class属性
2、如果有class属性并且属性中不包含以"lazy-"为前缀的css样式名

如何禁止默认加载图片

JS代码:

LzDefault.action = false;

如何在点击事件时显示图片

JS代码:

LazyImg.lazy("lazy-name");
<img class="lazy-name" lazy-data="图片路径"/>

"lazy-name" 中的name是可以自定义,"lazy-"是前缀必须存在

DEMO:

<!DOCTYPE html>
<html>
 <head>
  <title>LazyImgv1.0图片延迟加载插件</title>
  <meta charset="utf-8" />
  <link rel="stylesheet" href="css/main.css" rel="external nofollow" type="text/css"/>
  <script type="text/javascript" src="js/lazyImg.v1.0.min.js"></script>
 </head>
 <body>
  <h1 class="tit auto"><img src="images/default.png" lazy-data="images/tit.png" width="460" height="160" alt="LazyImgv1.0图片延迟加载插件" /></h1>
  <div class="lz_box auto">
   <p>
    <em class="red fb">注:</em>LazyImg 必须定义lazy-data属性,属性值是src的图片路径
   </p>
   <p>
    <em class="red fb">引入JS文件:</em><script type="text/javascript" src="js/lazyImg.v1.0.js"></script>
   </p>
   <p>
    <em class="fb">下载地址:</em>
    <a class="red" href="js/lazyImg.v1.0.js" rel="external nofollow" target="_blank">点击它!</a>
    <a class="red" href="js/lazyImg.v1.0.min.js" rel="external nofollow" target="_blank">点击它(压缩版)!</a>
   </p>
  </div>
  <div class="lz_box auto">
   <p>
    默认情况下: 在IMG中满足以任何一个条件,都会加载图片;
   </p>
   <p>
    1、没有class属性
   </p>
   <p>
    2、如果有class属性并且属性中不包含以"lazy-"为前缀的css样式名
   </p>
  </div>
  <div class="lz_box auto">
   <p>
   如何禁止默认加载图片
   </p>
   <p>
    <em class="red fb">JS代码: </em>LzDefault.action = false;
   </p>
  </div>
  <div class="lz_box auto">
   <p>
   如何在点击事件时显示图片
   </p>
   <p>
    <em class="red fb">JS代码: </em>LazyImg.lazy("lazy-name");
   </p>
   <p>
    <img class="lazy-name" lazy-data="图片路径"/>
   </p>
   <p>
    <em class="red fb">"lazy-name" </em>中的name是可以自定义,"lazy-"是前缀必须存在
   </p>
  </div>
  <ol class="list auto">
   <li class="fore1"><img src="images/default.png" lazy-data="images/1.png" width="161" height="161" alt="1"/></li>
   <li class="fore2"><img src="images/default.png" lazy-data="images/2.png" width="161" height="161" alt="2"/></li>
   <li class="fore3"><img src="images/default.png" lazy-data="images/3.png" width="161" height="161" alt="3"/></li>
   <li class="fore4"><img class="lazy-456" src="images/default.png" lazy-data="images/4.png" width="161" height="161" alt="4"/></li>
   <li class="fore5"><img class="lazy-456" src="images/default.png" lazy-data="images/5.png" width="161" height="161" alt="5"/></li>
   <li class="fore6"><img class="lazy-456" src="images/default.png" lazy-data="images/6.png" width="161" height="161" alt="6"/></li>
   <li class="fore7"><img src="images/default.png" lazy-data="images/7.png" width="161" height="161" alt="7"/></li>
   <li class="fore8"><img src="images/default.png" lazy-data="images/8.png" width="161" height="161" alt="8"/></li>
   <li class="fore9"><img src="images/default.png" lazy-data="images/9.png" width="161" height="161" alt="9"/></li>
  </ol>
  <div class="lz_box auto">
   <p>
   默认加载了1、2、3、7、8、9图片,当点击下面的按钮时会加载 4、5、6图片
   </p>
   <p>
    <img class="click_img" onclick="showImg()" src="images/default.png" lazy-data="images/click.png" width="184" height="48" />
   </p>
  </div>
  <div class="white_div"></div>
  <script>
  var showImg = function() {
   LazyImg.lazy("lazy-456");
  }
  // 以下定义默认不执行延迟加载
  // LzDefault.action = false;
 </script>
 </body>
</html>

附:完整实例代码点击此处本站下载

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript图片操作技巧大全》、《JavaScript图形绘制技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

(0)

相关推荐

  • js简单实现图片延迟加载的方法

    本文实例讲述了js简单实现图片延迟加载的方法.分享给大家供大家参考,具体如下: window.onload=window.onresize=window.onscroll=function() { showImg(); }; function getPos(obj) { var l=0; var t=0; while(obj) { l+=obj.offsetLeft; t+=obj.offsetTop; obj=obj.offsetParent; } return {left: l, top:

  • Jquery图片延迟加载插件jquery.lazyload.js的使用方法

    最新版的jquery.lazyload.js已不再是伪的延迟加载了 一.请按照基本使用方法说明设置 复制代码 代码如下: //载入JavaScript 文件<script src="jquery.js" type="text/javascript"></script><script src="jquery.lazyload.js" type="text/javascript"></sc

  • javascript图片延迟加载实现方法及思路

    本文实例为大家介绍了如何通过javascript来延迟加载图片,分享给大家供大家参考,具体内容如下 当一个网页中含有大量图片时,如果一开始就将图片全部加载完毕,势必会引起性能和效率上的问题,用户可能会由于等待时间过久而离开. 这个时候,我们需要利用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力. 一.延迟加载图片 基本思路如下: 给需要延迟加载的图片设置自定义属性比如lazy-src,存在图片源所在路径.然后将所有需要懒加载的图片放入一个数组,在window.onscroll的时候判断该数

  • js图片延迟加载(Lazyload)三种实现方式

    延迟加载也称为惰性加载,即在长网页中延迟加载图像. 用户滚动到它们之前,视口外的图像不会加载. 这与图像预加载相反,在长网页上使用延迟加载将使网页加载更快. 在某些情况下,它还可以帮助减少服务器负载. 延迟加载的优点: 提升用户的体验,如果图片数量较大,打开页面的时候要将将页面上所有的图片全部获取加载,很可能会出现卡顿现象,影响用户体验.因此,有选择性地请求图片,这样能明显减少了服务器的压力和流量,也能够减小浏览器的负担. 方法一 将页面上所有图片的src属性设置为loading.gif,而图片

  • javascript实现图片延迟加载方法汇总(三种方法)

    看到一些大型网站,页面如果有很多图片的时候,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较长的页面来说,这个方案是比较好的.原理是这样:页面可见区域以下的图片先不加载,等到用户向下滚动到图片位置时,再进行加载.这样做的好处在哪里?--当页面有好几屏内容时,有可能用户只看前几屏的内容,这样我们就可以只加载用户需要看的图片,减少服务器向用户浏览器发送图片文件所产生的负荷,下面通过三种方法给大家

  • jquery插件lazyload.js延迟加载图片的使用方法

    如果一个网页很长并且有很多图片的话,下载图片就需要很多时间,那么就会影响整个网页的加载速度,而这款延迟加载插件,会通过你的滚动情况来加载你需要看的图片,然后它才会从后台请求下载图片,最后显示出来.通过这个插件,可以在需要显示图片的时候,才下载图片,从而可以减少服务器的压力,提高页面加载速度. Lazy Load 插件原理 修改目标img元素的src属性为orginal属性,从而中断图片的加载.检测滚动状态,然后把网页可视区域中的img的src属性还原然后加载图片,从而制造了一种缓冲加载的效果.代

  • js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果

    本文为大家分享了js实现延迟加载思想和首屏延迟加载的具体代码,供大家参考,具体内容如下 作用:保证页面打开的速度(3s之内如果首页打不开就已经算是死亡页面了) 原理: 1).对于首屏内容中的图片:首先给对应的区域一张默认图片占的位置(默认图需要非常的小,一般可以维持在5kb以内),当首屏内容都加载完成后(或者也可以给一个延迟的时间),我在开始加载真实的图片 2).对于其他屏中的图片:也是给一张默认的图片占位,当滚动条滚动到对应区域的时候,我们再开始加载真实的图片 扩展:数据的异步加载,开始只把前

  • js图片延迟加载的实现方法及思路

    大概的实现方式是:在页面的load没有触发之前,把所有的指定id的元素内的img放入到imgs中,将所有的图片的src值放入到一个新建的_src属性中,把src设置为指定的显示图片.然后,在document.body的scroll事件触发时,循环计算imgs中的img元素位置是否正好在浏览器显示框范围内,如果是,则将img元素的_src属性的值赋给src,这样图片就能显示出来.这里比较麻烦地方是,如何计算img的位置,获得元素的相对于页面的绝对位置.通常是用offsetLeft和offsetTo

  • Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件

    从网上下载来的版本多多少少都有些BUG,尤其是加载后在IE6和IE7下图片闪动是个大问题,在网上查了很久,也没有找到相关的解决方案.没解决方案,就得发挥咱DIY的精神,自己想法解决,分析了BUG,理了理思路,结合前段时间我做弹出窗口特效的方法,解决了Jquery.LazyLoad.js的兼容问题,现将思路和方法与大家分享一下. 解决思路大致是两点,一是从LazyLoad本身的滤镜参数下手,发现有一个参数在IE6和IE7是可以用的,就是show,那么在IE6和IE7下用这个特效:二是IE8以上(包

  • 原生Js页面滚动延迟加载图片实现原理及过程

    原理和过程 1.页面滚动加载事件 2.获取元素在页面里的top值 根据滚动条的位置 判断何时显示图片 3.获取元素集合 加载过的图片从集合里删除 效果预览:http://jsfiddle.net/dtdxrk/SkYNq/embedded/result/ 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html

随机推荐