`

zepto -> picLazyLoad 懒加载图片

 
阅读更多

 

 

来源 : http://ons.me/484.html

 

 

 

功能:

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

使用方法:

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

<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图。例如:

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

调用:

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

如需加参数:

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

示例DEMO

已知问题:

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

待增加功能:

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

小提示:

  • 使用背景图片比使用img标签懒加载浏览器显示速度要快,不知道是不是后者多了一步替换src路径操作导致的;
  • 如果要兼容更多的设备,使用背景图片可以显示更清晰,因为可以设置background-size,之前的文章有提到过。
分享到:
评论

相关推荐

    zepto-cookie-master

    本文将深入探讨"zepto-cookie-master"这个项目,它是一个专门用于处理Cookie操作的Zepto插件。 Cookie是Web开发中一个重要的技术,用于存储客户端的小量数据,比如用户设置、会话信息等。在Zepto库中,如果没有专门...

    zepto-1.2.0-模块-源码.zip

    zepto.js是一个轻量级的JavaScript库,专为...总之,zepto-1.2.0模块源码的分析有助于深入理解这个轻量级库的工作机制,对于移动端Web开发人员来说,掌握这些知识能够帮助他们更高效地构建高性能、响应式的移动应用。

    H5 zepto-js手机涂鸦画板.zip

    js代码 [removed][removed] [removed][removed] [removed] var ty=new tuya({ Base64ck:function (data) { console.log(data) } }); [removed]

    lazyload:zepto-lazyload

    在dim-spa应用中,由于页面内容动态加载,Zepto-Lazyload可以避免一次性加载大量图片,减轻服务器压力,加快页面初始化速度。此外,对于用户可能不会看到的页面底部内容,延迟加载也能减少不必要的网络请求,提高...

    html5手机移动端自适应页面+javascript脚本插件+zepto+手机图片懒加载

    图片懒加载(Lazy Loading)是一种优化网页加载速度的技术,它延迟非视口内图片的加载,直到用户滚动到它们时才开始加载。这样可以减少首屏加载时间,提高用户体验。JavaScript脚本插件用于控制这种行为,它监听滚动...

    Zepto-Slide:移动的Zepto滑块

    **Zepto-Slide: 移动设备上的轻量级滑块解决方案** Zepto-Slide 是一个专门为移动设备设计的轻量级滑块组件,它基于 Zepto.js 库,一个针对移动浏览器优化的 JavaScript 库,类似于 jQuery。Zepto.js 的核心特性...

    zepto.picLazyLoad.min.js

    zepto 的懒加载

    zepto-event-fixed:Zepto 事件模块完善

    本篇将详细探讨`zepto-event-fixed`,这是一个针对Zepto事件模块的优化和扩展,旨在增强其在实际开发中的表现。 Zepto.js的事件模块是其核心功能之一,它允许开发者监听和触发DOM元素上的事件。然而,原生的事件...

    Swiper-master touchjs-master TweenJS-master zepto-master

    zepto.js 处理Touch事件 处理Touch事件能让你了解到用户的每一根手指的位置,在touch事件触发的时候产生,可以通过touch event handler的event对象取到,如果基于zepto.js开发,一般是通过event.touches[0]来获取属性...

    zepto:node了一个

    6. **assets模块**: 可能涉及到资源管理,比如图片加载或音频播放,帮助优化性能和用户体验。 7. **data模块**: 提供数据存储功能,允许在元素上存储和检索数据,而不影响DOM结构。 8. **selector模块**: 实现了...

    zepto-typeahead:Zepto 的 Typeahead 插件

    1. **引入 Zepto 和插件**:首先确保在页面中引入 Zepto.js,然后加载 `zepto-typeahead` 插件。通常,你可以在项目的 `zepto-typeahead-master` 文件夹中找到需要的脚本文件。 2. **初始化插件**:为需要添加自动...

    zepto下的page切换控件

    2. **Page容器**:在zepto-page-transitions中,每个页面应该被包裹在一个独立的容器内,通常使用`&lt;div data-role="page"&gt;...&lt;/div&gt;`来标记。这些容器元素是页面切换的基础,它们在页面加载时可能隐藏,但在切换时会...

    zepto-touchSlider:移动端滑动翻页效果(for Zepto)

    1. **下载与引用**: 从GitHub或其他源获取`zepto-touchSlider`的压缩包,解压后将`zepto.touchSlider.js`文件引入到HTML文档中,通常放在`&lt;head&gt;`标签内或`&lt;body&gt;`标签底部。 2. **初始化设置**: 在JavaScript代码...

    zepto-seajs-calendar:seajs模块的日历控件

    zepto-seajs-calendarseajs模块的日历控件主要实现: _getTds: function(y, m) { // 日历主体部分 var date = new Date(y, m, 1); // 获取当月第一天星期几 var fday = date.getDay(); date = new Date(y, m + 1, 0)...

    zepto-refresh:实现拖动到底部和上拉到顶部再拉就出现刷新效果

    npm install --save zepto-refresh 直接HTML♡ [removed][removed] [removed][removed] 使用 NPM var Refresh = require('zepto-refresh'); Refresh('.wrap', { // 内容元素 contentEl: '#J_scroller', // ...

    zepto-project-weui

    zepto-project-weui 一个webpack构建的zepto项目 项目初始化步骤 # 安装nodejs环境 # 全局安装webpack 命令: (sudo) npm install -g webpack@3 # 全局安装webpack-dev-server 命令: (sudo) npm install -g webpack...

    zepto-ui-demo:基于zepto开发的ui组件库

    zepto-ui-demo 基于zepto开发的js 移动端常用 ui 插件 案例(demo) 用node 将本地服务 跑起来之后,请用 手机扫描生成的 二维码进行移动端预览 # 下载依赖 npm install # 本地运行 npm run dev

    zepto-carousel:Zepto.js 图像轮播插件

    ______ ______ ______ ______ ______ ...Zepto-carousel.js 一个 Zepto.js 插件,用于为您的网站创建图像轮播。 这个轮播只是让第一个元素淡入,保持几秒钟,然后使用 css3 动画转换为不透明度淡

    手机移动端内容横向滚动选项卡代码,支持iOS,Android(暂不支持WP)等系统以webkit为内核的浏览器

    手机移动端内容横向滚动选项卡代码,支持iOS,Android(暂不支持WP)等系统以...-- 代码 开始 --&gt;&lt;!-- 代码 结束 --&gt;区域代码 4.本代码中两种导航效果均需引用所有CSS,JS文件,如需修改样式,可去掉default相关样式文件

    zepto-module-demo:将Zepto转换为模块只有一些好处

    在此演示中,我使用了: 加载模块从ES2015 transpile 填充Zepto而不接触源代码指示$ npm install$ npm start # run a server to prove that there are no bugs$ npm run build # create a compressed build好处要...

Global site tag (gtag.js) - Google Analytics