iframe懒加载_Recliner.js 延迟加载图像/iFrames/其他动态 Ajax 内容 - 文章

Recliner.js 是一个超级轻量级 jQuery 插件,压缩后只有 1KB,用于延迟加载图像、iFrames 和 其他动态 Ajax 内容。懒加载从来没有这么好的感觉。

当我们的客户之一在他们的一个媒体大移动新闻网站上带着巨大的滚动滞后来到我们的时候,这个脚本就诞生了。结果发现 lazy-load-xt 是罪魁祸首,所以我们自然地测试了其他懒加载脚本,但是其中并没有符合我们的简单标准:

轻量级

在元素上设置有状态的 CSS 类。

为自定义行为重写事件回调的能力

可装任何动态内容,图像、iframes 和 ajax

移动友好

打印机友好

Recliner.js 目前使用在一些非常高的交通站点,所以它是很好的测试和生产准备。

安装

如果你用 bower 然后键入:

bower install recliner

或者如果你喜欢用 npm 然后继续输入:

npm install jquery-recliner

否则,只需下载 recliner.min.js 并将其放入资源文件夹中即可。

使用

将 jQuery 2.x 或 1.x 和 Recline 添加到 HTML 源代码中:

将元素上的 Recline 绑定到 .lazy Class 上:

$(".lazy").recliner({

attrib: "data-src", // selector for attribute containing the media src

throttle: 300, // millisecond interval at which to process events

threshold: 100, // scroll distance from element before its loaded

printable: true, // be printer friendly and show all elements on document print

live: true // auto bind lazy loading to ajax loaded elements

});

还可以通过编程触发更新,以检查要加载的新元素:

$(window).trigger("lazyupdate");

Recliner.js 可用于加载范围不同的动态内容。

图片

注:显式地指定图像尺寸是个好主意,这样页面的高度就不会因为懒惰的内容被加载到 DOM 中而变得疯狂。

image-to-lazy-load.png

框架

Ajax

Loading, be patient damnit!

回调 API

Recliner.js 程序公开了一个简单的基于事件的 API,这样您就可以使用回调实现您自己的自定义行为:

lazyload

这个 lazyload 事件将在将要加载的元素上触发。

$(document).on('lazyload', '.lazy', function() {

var $e = $(this);

// do something with the element to be loaded...

console.log('lazyload', $e);

});

lazyshow

这个 lazyshow 事件将在元素加载后触发。

$(document).on('lazyshow', '.lazy', function() {

var $e = $(this);

// do something with the loaded element...

console.log('lazyshow', $e);

});

样式与动画

Recliner.js 将在元素上设置以下有状态 CSS 类:

lazy-loading* 在加载元素时设置

lazy-loaded* 在元素加载后设置

使用有状态类,您可以在图像中添加一些花哨的转换:

img {

opacity: 0;

transition: opacity .333s ease-in;

}

img.lazy-loaded {

opacity: 1;

}

相关链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值