钧言极客钧言极客

钧言极客

使用vanilla-lazyload实现懒加载

给主题配置一个全新的lazyload库,来自verlokvanilla-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属性设置为原图路径

<img src="./images/loading.gif" data-lzay-src="./images/web.png" alt="web" class="lazy"> 
  • 配置运行参数

以下是我的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简单,性能也比前者要好不少。

未经允许不得转载:钧言极客 » 使用vanilla-lazyload实现懒加载

评论 2

  1. 这样的好处是什么呀,我也想试试。

    老张博客 2022-05-18    回复
    • 比之前的js配置更加简约,支持视频和背景这些懒加载,你可以看看我站都用上了这个库

      钧言 2022-05-18    回复