当前位置: 首页 > 编程日记 > 正文

lazyload.js实现图片异步延迟加载

所谓图片异步加载,意思是不用一次把图片全部加载完,你可以叫它延迟加载,缓冲加载都行。

看看你有没有这种需求:某篇文章图片很多,如果在载入文章时就载入所有图片,无疑会延缓载入速度,让用户等更久,所以,我想找这样一种插件,让网页只加载浏览器视野范围内的图片,没出现在范围内的图片就暂不加载,等用户滑动滚动条时再逐步加载。lazyload就是用来实现这种效果。

lazyload.js其实是jQuery的一个插件,全称是jquery.lazyload.js,看它的名字就知道它的作用了——就是偷懒载入的意思。由于它是javascript写的,所以适用于所有网页,包括Wordpress。

想要使用lazyload,得先载入jQuery,它是依靠jQuery来实现效果的。至于jQuery,大家不用去下载了,可以直接连接存放在Google服务器上的jQuery文件,永远不用担心丢失(当然,如果有天朝完全屏蔽Google的那一天的话……)

特效优点:

  1. 加速wordpress站点的页面载入速度;
  2. 不唐突的图片渐显方式;
  3. 代码精简,便于操作维护,JS代码仅仅 1.6KB 先决条件是:你的站加载了 Jquery.js

    原理:

    这个特效是少有的即华丽又加速的效果,因为它能判断访客是不是在查看当前图片,若则加载预留的填充图片 grey.gif ,等到访客滑动鼠标滑轮或浏览到图片位置时,真正的图片地址才会加载。
    也就是说,如果访客瞬间打开你的页面,然后瞬间关闭,处于页脚的图片是不被加载的,何乐而不为呢?
    不用担心对访客的友好程度,这个效果会在图片即将被浏览到的时候就开始加载图片;

    实现方法:

    1. 下载 jquery.lazyload.js
           下载 预填充图片 fill.gif
      点此打包下载 (或者本文后面下载,已经上传)
    2. 将上面2文件,放到您的网站的某个目录,或者你直接在外站调用。(我是传到http://www.173it.cn/上调用的)
    3. 在当前主题的 header.php 中适当位置添加下面 JS调用代码,我当期用的inove主题后台就有添加js代码的地方:
      【http://www.173it.cn/js/部分请自定义】
      $("img")部分可以限定对页面中的哪些img生效】比如修改成 $(".content img")

    压缩包中除了lazyload.js外,还有一个grey.gif图片文件。这个图片的作用是,当页面上图片未载入时,就显示这张图片。将JS文件与图片传到你的空间,然后在你主题的header.php文件中加入

    jQuery(document).ready(
    function($){
    $("img").lazyload({
    placeholder : "<span class="Apple-style-span" style="font-family:'sans serif', tahoma, verdana, helvetica;line-height:19px;white-space:normal;font-size:13px;">http://www.173it.cn/css/grey.gif", //加载图片前的占位图片
    effect      : "fadeIn" //加载图片使用的效果(淡入)
    });
    });


    转自:http://www.oschina.net/code/snippet_111193_3306


    相关文章:

    postfilter中文什么意思_Filterpost请求中文字符编码的过滤器 --学习笔记

    java代码&#xff1a;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Lo…

    错误:You can't specify target table 'xxx' for update in FROM clause的解决

    今天在MySQL数据库删除重复数据的时候遇到了一个问题。如下脚本&#xff1a; DELETE FROM tempA WHERE tid IN ( SELECT MAX(tid) AS tid FROM tempA GROUP BY name,age ) 会出现报错信息&#xff1a; You cant specify target table tempA for update in FROM clause 大致意思…

    HTTPS的七个神话(译文)

    原文网址&#xff1a;http://blog.httpwatch.com/2011/01/28/top-7-myths-about-https/ 译文地址&#xff1a;http://www.ruanyifeng.com/blog/2011/02/seven_myths_about_https.html 误解七&#xff1a;HTTPS无法缓存 许多人以为&#xff0c;出于安全考虑&#xff0c;浏览器不…

    蓝牙写入数据库_蓝牙 数据写入 简单易懂版(适合没写过蓝牙的看)

    //字符串转arrbufferfunction string2buffer(str) {// 首先将字符串转为16进制let val ""for (let i 0; i < str.length; i) {if (val ) {val str.charCodeAt(i).toString(16)} else {val , str.charCodeAt(i).toString(16)}}// 将16进制转化为ArrayBufferr…

    Educational Codeforces Round 9 F. Magic Matrix 最小生成树

    F. Magic Matrix题目连接&#xff1a; http://www.codeforces.com/contest/632/problem/F Description Youre given a matrix A of size n  n. Lets call the matrix with nonnegative elements magic if it is symmetric (so aij  aji), aii  0 and aij ≤ max(aik, …

    【SqlServer】SqlServer中的更新锁(UPDLOCK)

    UPDLOCK.UPDLOCK 的优点是允许您读取数据&#xff08;不阻塞其它事务&#xff09;并在以后更新数据&#xff0c;同时确保自从上次读取数据后数据没有被更改。当我们用UPDLOCK来读取记录时可以对取到的记录加上更新锁&#xff0c;从而加上锁的记录在其它的线程中是不能更改的只能…

    Oracle CDC (Change Data Capture)更新数据捕获——概述

    Change Data Capture能高效识别并捕获数据的插入、修改和删除&#xff0c;使更新数据供个人或应用使用。 CDC从oracle 9i开始引入&#xff0c;//TODO 在11G R2之后的版本里将取消支持&#xff0c;被Oracle GoldenGate取代。 CDC的一些概念 CDC有同步和异步两种模式&#xff0c;…

    flutter ios启动白屏_Flutter技术架构概览

    前言最近在整理各种技术架构&#xff0c;给自己的列了个TODO list&#xff0c;希望能在几个月的时间内&#xff0c;研究完各种前端技术架构&#xff0c;包括移动端技术架构。今天分享一下自己整理的flutter技术架构。完整的技术架构TODO list可以去我的github仓库查看&#xff…

    SQL Relay开源的数据库池连接代理服务器

    一、SQL Relay是什么&#xff1f; SQL Relay是一个开源的数据库池连接代理服务器 二、SQL Relay支持哪些数据库&#xff1f;* Oracle* MySQL* mSQL* PostgreSQL* Sybase* MS SQL Server* IBM DB2* Interbase* Sybase* SQLite* Lago* ODBC* MS Access三、安装和配置&#xff1b;…

    关于Android开源库分享平台,(GitClub)微信小程序的开发体验

    七八月份的深圳一直在下雨&#xff0c;总有人说雨天适合窝在家看书&#xff0c;对于程序开发者来说更是难得的学习机会。我们502工作室的小伙伴利用这个时间学习了一下微信小程序开发&#xff0c;并上线了一个GitClub小程序&#xff0c;目前功能有些简陋&#xff0c;难免有辣眼…

    RSync实现文件备份同步

    rsync是类unix系统下的数据镜像备份工具&#xff0c;从软件的命名上就可以看出来了——remote sync。它的特性如下&#xff1a;1、可以镜像保存整个目录树和文件系统。2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。3、无须特殊权限即可安装。4、优化的流程&#…

    Hibernate annotation多对多配置

    角色&#xff08;用户组&#xff09;&#xff0c;用户多对多。 角色实体配置&#xff1a; private Set<TAuthUser> users;ManyToManyJoinTable(name"t_auth_user_role",joinColumns{JoinColumn(name"role_id")},inverseJoinColumns{JoinColumn(name&…

    ajax中的url如何传递变量_如何创建和参数化UDT数据类型中的变量及IN,OUT 等参数?...

    从数据类型的意义上说 UDT 并不被 CPU 所识别&#xff0c;而是在离线程序中自定义(组合)的数据类型。 S7 程序的自定义数据类型并不能装载到 S7 CPU 中。UDT 是由递增的编辑器创建并编辑或由源文件的编译而生成。 当在块调用中进行变量传递时是不能将 UDT 作为内存地址区域来传…

    [雪峰磁针石博客]kotlin书籍汇总

    2019独角兽企业重金招聘Python工程师标准>>> 下载地址 Learning Kotlin by Building Android Applications - 2018 初级 Develop amazing applications that will help you understand and explore the fundamentals of Kotlin while covering 3 various types of p…

    web集群时session同步的3种方法

    web集群时session同步的3种方法在做了web集群后&#xff0c;你肯定会首先考虑session同步问题&#xff0c;因为通过负载均衡后&#xff0c;同一个IP访问同一个页面会被分配到不同的服务器上&#xff0c;如果session不同步的话&#xff0c;一个登录用户&#xff0c;一会是登录状…

    属于python文件的操作有_Python的文件操作

    1、初始文件操作1、使用python读写文件使用open()函数获取文件句柄&#xff0c;就可以操作文件了&#xff0c;根据打开方式不同能执行的操作也不同。打开方式有&#xff1a;r、w、a、r、w、a、rb、wb、ab、rb、wb、ab&#xff0c;默认用的是r模式2、只读操作(r、rb)2.1、只读模…

    [iOS]开发者证书和描述文件的作用

    先说下证书吧。 然后是描述文件 转载于:https://www.cnblogs.com/wangqi1221/p/5240273.html

    单元格编辑后级联汇总刷新

    单元格编辑 级联刷新 PDERPDB db new PDERPDB(); int conid 0; int pid 0; string sql ""; string sqlC ""; if (int.TryParse(Pid, out pid)) { sql string.Format(" UPDATE JL_Project set PCMoney{0} where Pid{1};", pcmoney, Pid); }…

    HTTP 协议的通用头域via 的意义以及作用

    列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器&#xff0c;他们用 什么协议&#xff08;和版本&#xff09;发送的请求。 当客户端请求到达第一个代理服务器时&#xff0c;该服务器会在自己发出的请求里面 添…

    6-5-树的双亲表示法-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版...

    课本源码部分 第6章 树和二叉树 - 树的双亲表示法 ——《数据结构》-严蔚敏.吴伟民版 源码使用说明 链接☛☛☛ 《数据结构-C语言版》&#xff08;严蔚敏,吴伟民版&#xff09;课本源码习题集解析使用说明 课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑 习题集全解析 …

    压力测试 闪存_产品评测 | HPE Nimble AF全闪存系列,诠释真正的高端存储

    随着AI、互联网、大数据等技术快速发展&#xff0c;企业对存储设备的需求已踏上一个更高的级别&#xff0c;高性能、低延时、大容量等多种需求的应用场景愈发常见&#xff0c;在这种情况下&#xff0c;寻求能够满足相应工作负载能力的存储设备已成为企业IT管理者的当务之急。这…

    Mysql无法选取非聚合列

    教程所示图片使用的是 github 仓库图片&#xff0c;网速过慢的朋友请移步>>> &#xff08;原文&#xff09;Mysql 无法选取非聚合列。 更多讨论或者错误提交&#xff0c;也请移步。 1. 前言 最近升级博客&#xff0c;给文章页面底部增加了两个按钮&#xff0c;可以直接…

    网络设置巨形帧_Trunk的概念与设置

    在二层交换机的性能参数中&#xff0c;常常提到一个重要的指标&#xff1a;TRUNK &#xff0c;许多的二层交换机产品在介绍其性能时&#xff0c;都会提到能够支持TRUNK 功能&#xff0c;从而可以为互连的交换机之间提供更好的传输性能。那到底什么是TRUNK呢&#xff1f;使用TRU…

    epoll使用详解

    epoll的工作原理是&#xff0c;你如果想进行IO操作时&#xff0c;先向epoll查询是否可读或可写&#xff0c;如果处于可读或可写状态后&#xff0c;epoll会通过epoll_wait函数通知你&#xff0c;此时你再进行进一步的recv或send操作。epoll仅仅是一个异步事件的通知机制&#xf…

    软件测试(一)

    最近的时间内&#xff0c;我印象最深刻的Bug是在上学期的javaweb的大作业中。 其中的要求是在工作人员的每一条记录后面添加一个修改按钮&#xff0c;要求把前一个页面的内容带入到下一个页面中&#xff0c;由于密码采用的是MD5的加密&#xff0c;所以带入到后面的页面中的内容…

    网络分流器-网络分流器IP网络路由交换测试技术探讨

    网络分流器1 . 与流量相关的L2-3层高级测试技术探讨戎腾网络分流器: 对于一个L2-3层网络设备&#xff0c;最基本、最重要的测试是流量转发性能测试。作为一个网络转发设备&#xff0c;首先要保证可以高速、低时延、稳定地转发流量。相关的性能测试通常是通过流量生成器&#xf…

    浅谈https\ssl\数字证书

    在互联网安全通信方式上&#xff0c;目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了。本文追本溯源围绕这个模式谈一谈。 名词解释 首先解释一下上面的几个名词&#xff1a; https&#xff1a;在http(超文本传输协议)基础上提出的一种安全的http协议&#xf…

    input不管用 vue_Vue自定义指令实现快速读取Excel

    前几天因为业务需求&#xff0c;所维护的而后台中出现了大量关于上传下载Excel的操作。因为我们的后台是基于Vue&#xff0c;并且是在 vue-element-admin 的基础上结合实际需求开发而来。vue-element-admin 中也有一些相关操作 Excel 的示例&#xff0c;都十分清晰明了&#xf…

    数据结构——算法之(010)( 字符串的左旋转操作)

    【申明&#xff1a;本文仅限于自我归纳总结和相互交流&#xff0c;有纰漏还望各位指出。 联系邮箱&#xff1a;Mr_chenping163.com】 题目&#xff1a;定义字符串的左旋转操作&#xff1a;把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cde…

    value_counts()

    Serise类型&#xff1a; Series.value_counts(normalizeFalse, sortTrue, ascendingFalse, binsNone, dropnaTrue) 功能&#xff1a;返回包含唯一值计数的对象。结果对象将按降序排列&#xff0c;以便第一个元素是最常出现的元素。 不包括默认的NA值。 参数&#xff1a;normali…