使用vanilla-lazyload实现懒加载
给主题配置一个全新的lazyload库,来自verlok的vanilla-lazyload开源js库,支持更多的特性和特效。
vanilla-lazyload是一个轻量级、灵活的脚本,可将图像、背景、视频、iframe等实现懒加载
Github:vanilla-lazyload
WIki文档:vanilla-lazyload
废话不多说直接开搞
- 先引入JS库
<script async src="https://unpkg.com/browse/vanilla-lazyload@17.8.1/dist/lazyload.min.js"></script>
- 格式化图片样式
src属性可填写加载中的占位图/加载gif路径,data-lazy-src属性设置为原图路径
- 配置运行参数
以下是我的Javascript参数,更多参数DIY自行找文档
var lazyLoadInstance = new LazyLoad({
// css属性选择器
elements_selector: 'img',
// 滚动多少加载
threshold: 0,
// 加载的元素URL的属性
data_src: 'lazy-src'
})
- css模糊渐变特效
img[data-lazy-src]:not(.loaded) {filter: blur(10px) brightness(1);}img[data-lazy-src].error {filter: none;}
img{
-webkit-transition: filter 375ms ease-in .2s,-webkit-transform .6s;
-moz-transition: filter 375ms ease-in .2s,-moz-transform .6s;
-o-transition: filter 375ms ease-in .2s,-o-transform .6s;
-ms-transition: filter 375ms ease-in .2s,-ms-transform .6s;
transition: filter 375ms ease-in .2s,transform .6s;
}
更多的参数可以去看作者的wiki文档,配置起来比jquery.lazyload.js简单,性能也比前者要好不少。