Zepto picLazyLoad Plugin,图片懒加载的Zepto插件

嗯,学着国外人起名字Zepto picLazyLoad Plugin确实看起来高大上,其实js代码没几句,并且我每次写js都捉襟见肘,泪奔~~~html

图片懒加载有不少js插件,很是著名的属jQuery的Lazy Load了。本身作手机项目上也须要图片懒加载,并且手机上的图片懒加载有两种:一种是普通img标签的,一种是div标签(或者其余标签)上加背景图片的。因此就练手写了个支持以上两种状况的Zepto小插件。浏览器

功能:

  • 支持img标签图片懒加载、div标签(或者其余标签)的背景图片懒加载;
  • 支持预加载。默认是图片出如今屏幕时开始加载,能够设置threshold参数,如threshold:100,此时图片出如今屏幕以前100px时开始加载;
  • 背景图片懒加载时,自动添加base64的1*1透明图片作默认背景图。也能够自定义默认背景图,参数为placeholder

使用方法:

引用1.1.3的Zepto(我只测过这个目前最新版),并引用picLazyLoad.js。→picLazyLoad.js← →picLazyLoad.min.jsapp

<script src="1.1.3/zepto.min.js"></script>
<script src="1.0/zepto.picLazyLoad.min.js"></script>

在要懒加载的标签上,加类名或者id名,方便调用。在标签上加data-original="original.jpg"original.jpg为实际加载图片路径。若是是img标签,还须要加src="blank.png"blank.png为默认背景图,建议用base64图。例如:spa

<img class="test-lazyload" src="blank.png" data-original="original.jpg">
<div class="test-lazyload" data-original="original.jpg"></div>

调用:.net

$('.test-lazyload').picLazyLoad();

如需加参数:插件

$('.test-lazyload').picLazyLoad({
    threshold: 100,
    placeholder: 'http://image.yihaodianimg.com/front-homepage/global/images/blank.gif'
});

示例DEMOcode

已知问题:

  • iPhone 5S 7.1.1里,全部浏览器,网页滑到下面,刷新网页,不执行onscroll方法,获取不到scrolltop值。致使此时刷新网页,网页下方的图片没有默认加载。

待增长功能:

  • 如今是直接显示图片show,之后增长fadeIn图片淡入;
  • 如今是只能根据窗口懒加载图片,待增长根据容器、tab选项卡等。

小提示:

  • 使用背景图片比使用img标签懒加载浏览器显示速度要快,不知道是否是后者多了一步替换src路径操做致使的;
  • 若是要兼容更多的设备,使用背景图片能够显示更清晰,由于能够设置background-size,以前的文章有提到过。

>>原创文章,欢迎转载。转载请注明:转载自西门的后花园,谢谢! >>原文连接地址:http://ons.me/484.htmlhtm

相关文章
相关标签/搜索