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

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

unveil

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

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

使用

一般图片img1.jpg

对于支持 retina (视网膜屏幕) 设备img2.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

需要延时加载的图片example.jpg

应用$(function() {

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

});

echo

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

支持IE8+

使用

Photo

echo.init({

offset: 100,

throttle: 250,

unload: false,

callback: function (element, op) {

console.log(element, 'has been', op + 'ed')

}

});

// echo.render(); //手动触发调用

layzr.js

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

placeholder

var layzr = new Layzr({

attr: 'data-layzr',

retinaAttr: 'data-layzr-retina',

threshold: 0,

callback: null

});

更新

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

html = html.replace(/]+>/g, function(imgstr, idx) {

imgstr = imgstr.replace(' src=', ' data-src=')

return imgstr

})

本文原创发布php中文网,转载请注明出处,感谢您的尊重!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部