• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Image Lazy Load:那些延时加载图片的开源插件(jQuery)_js

javascript 程旭媛 7年前 (2018-06-21) 132次浏览 已收录 0个评论

  图片延时加载技术对大流量的网站来说是十分实用的。目前图片在网站中大量使用,如果不加处理的话会对服务器和带宽造成级大压力,通过只渲染当前用户可见区域的图片,可以极大地减少网站的请求数,降低网络带宽资源。

Image Lazy Load:那些延时加载图片的开源插件(jQuery)_js

  unveil

  这是一款十分轻量级的片时图片加载组件

  支持现代浏览器及IE7+, Github上面有将近3K个star(关注)

  使用

  一般图片

 <img src="bg.png" data-src="img1.jpg" /> 

  对于支持 retina (视网膜屏幕) 设备

 <img src="bg.png" data-src="img2.jpg" data-src-retina="img2-retina.jpg" /> 

  应用

 $(document).ready(function() {   $("img").unveil(); });

  支持回调

 $("img").unveil(200, function() {   $(this).load(function() {     this.style.opacity = 1;   }); });

  支持手动触发 

 $("img").trigger("unveil");

  jquery_lazyload

  可以延时加载大型网站的图片,当滚动到区域时再进行渲染。Github上面有4K个关注。

  使用

  引用jquery和lazyload.js

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

  需要延时加载的图片

 <img class="lazy" data-original="img/example.jpg" width="640" height="480">

  应用

 $(function() {     $("img.lazy").lazyload(); });

  echo

  一个独立徽型javaScript图片延时加载库。不依赖jQuery,压缩后仅2K。

  支持IE8+

  使用 

 <body>    <img src="img/blank.gif" alt="Photo" data-echo="img/photo.jpg">    <script src="dist/echo.js"></script>   <script>   echo.init({     offset: 100,     throttle: 250,     unload: false,     callback: function (element, op) {       console.log(element, 'has been', op + 'ed')     }   });    // echo.render(); //手动触发调用   </script> </body>

  layzr.js

  前几天刚刚发布的一款Image Lazy Loading组件,小,快,无依赖(不依赖jQuery),同样支持retina设备。

 <script src="layzr.min.js"></script> <img src="optional/placeholder" data-layzr="normal/image" data-layzr-retina="optional/retina/image">  <script> var layzr = new Layzr({   attr: 'data-layzr',   retinaAttr: 'data-layzr-retina',   threshold: 0,   callback: null  }); </script> 

  更新

  那么,如何让服务器端将一堆html中的img转变成data-src呢?其实很简单,几行正则就可以了,比如在node.js中可以这样将img的src转换成data-src(可直接按F12在浏览器的Console中运行)

 var html = '包含 <img src="http://ourjs.com/img/weixin.jpg"> 的HTML'  html = html.replace(/<img[^>]+>/g, function(imgstr, idx) {   imgstr = imgstr.replace(' src=', ' data-src=')   return imgstr }) 

欢迎大家阅读《Image Lazy Load:那些延时加载图片的开源插件(jQuery)_js》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Image Lazy Load:那些延时加载图片的开源插件(jQuery)_js

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址