网上有人反映说lazyload只是效果好看并没有实现真正的懒加载,在后台仍然是把页面上的所有图片下了一遍,只不过是先把图片隐藏并在窗口向下滚动时再逐一显示出来罢了。lazyloag3经测试这个问题已经解决了。

还有一点必须注意的是,如果想达到在窗口向下滚动时图片一张张下载的效果,最好给图片设置足够的高度。如下面的代码

<img data-original="images/bg00001.jpg" src="/js/grey.gif" border="0" />

<img data-original="images/bg00002.jpg" src="/js/grey.gif" border="0" />

<img data-original="images/bg00003.jpg" src="/js/grey.gif" border="0" />

<img data-original="images/bg00004.jpg" src="/js/grey.gif" border="0" />

默认显示grey.gif,grey.gif高度只有1px,当页面打开时bg00001.jpg,bg00002.jpg,bg00003.jpg,bg00004.jpg这四张图片会被全部下载下来。如果我们设置了高度,代码如下

<img data-original="images/bg00001.jpg" height="600" src="/js/grey.gif" border="0" />

<img data-original="images/bg00002.jpg" height="600"  src="/js/grey.gif" border="0" />

<img data-original="images/bg00003.jpg" height="600"  src="/js/grey.gif" border="0" />

<img data-original="images/bg00004.jpg" height="600"  src="/js/grey.gif" border="0" />

那么一次只会下载一张或者两张(多少张依据窗口高度,图片高度而定)

src="js/grey.gif"是占位图片,data-original="img/example.jpg"才是真正要加载的图片. 

lazyload的目的是延迟加载,但是就算用js去掉src属性也会马上加载图片,所以lazyload就让src加载一个很小很小的图片(1px*1px,几乎看不到),也就是所谓的占位图,然后添加了个data-original属性延迟加载真正要显示的图片。

这里就不贴代码代码,提供包下载,有兴趣的童鞋可以下。用Chrome的开发人工具->NetWork可以查看效果。

下载地址:http://download.csdn.net/detail/goleftgoright/4028546

下面是lazyload插件的使用及参数的介绍

jQuery.LazyLoad.js使用方法: 
1、将以下文件存放在同一目录下面: 
jquery.js 
jquery.layzload.js 
grey.gif 
2、在需要使用特效的地方加上如下的代码: 
<script type="text/JavaScript" src="http://demo.jb51.NET/js/2011/lazyload/Js/lazyload/jquery.js"></script> 
<script type="text/javascript" src="http://demo.jb51.Net/js/2011/lazyload/Js/lazyload/jquery.lazyload.js"></script> 
Jquery.LazyLoad.js插件修正版下载: 
lazyload.rar 
Jquery.LazyLoad.js插件参数详解: 
下面对LazyLoad插件的一些参数进行说明,供使用者做出更贴切的效果。

1,用图片提前占位 
placeholder : "img/grey.gif", 
参数:placeholder,值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏

2,载入使用何种效果 
effect : "fadeIn", 
参数:effect(特效),值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn

3,提前开始加载 
threshold : 200, 
参数:threshold,值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉.

4,事件触发时才加载 
event : "click", 
参数:event,值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加载,后两个值未测试…

5,对某容器中的图片实现效果 
Container: $("#container"), 
参数:container,值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片

6,图片排序混乱时 
failurelimit : 10, 
参数:failurelimit,值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题

layload.js的使用的更多相关文章

  1. js上拉加载

    <ul class="u-f-log"> <li class="u-f-log-alone" v-for="item in log& ...

  2. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  3. js学习笔记:操作iframe

    iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  6. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  7. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  8. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  9. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

随机推荐

  1. Codeforces Round #484 (Div. 2) B. Bus of Characters(STL+贪心)982B

    原博主:https://blog.csdn.net/amovement/article/details/80358962 B. Bus of Characters time limit per tes ...

  2. poj 2912 Rochambeau(枚举+带权并查集)

    题目链接:http://poj.org/problem?id=2912 题意:多个人玩石头剪刀布分成3组和一个裁判,每一组提前选定了自己出哪个手势,裁判可以随意出什么手势,问是否能够从给出的一系列石头 ...

  3. javascript 中 typeof 和 instanceof 的区别

    在 javascript 中经常会用到 typeof 和 instanceof 来判断一个对象的类型,可能 typeof 用得多些,那来看看这两个之间的区别吧. typeof : typeof 是一个 ...

  4. Jmeter 逻辑控制器 之 事务控制器

    前面我在做性能测试的时候,由于我们的系统是需要登录的,登录成功后,系统默认加载其订单数据,因此在用户看来这是一个操作.所以为了模拟这个操作,我需要访问两个接口,并且把这两个接口的响应时间算在一起,那么 ...

  5. java.lang.UnsupportedClassVersionError:JDK版本不一致报错

    交代一下背景:公司运行的一个上线项目,打了个补丁发给客户后,反馈说运行不了.把源码拿回来场景重现.贴上报错信息: 08-15 14:13:29 ERROR doPost(jcm.framework.r ...

  6. .Net基础篇_学习笔记_第三天_Convert类型转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. 第二场周赛(递归递推个人Rank赛)——题解

    很高兴给大家出题,本次难度低于上一场,新生的六个题都可以直接裸递归式或者裸递推式解决,对于老生的汉诺塔3,需要找出一般式,后两题分别为裸ST算法(或线段树)/线性DP. 正确的难度顺序为 种花 角谷定 ...

  8. charles 禁用缓存

    本文参考:charles 禁用缓存 No caching Settings/无缓存工具的用法 弹窗面板上一句话概括了他的工作原理:通过修改请求和响应头来防止缓存; 无缓存工具 无缓存工具阻止客户端应用 ...

  9. springboot jsp,过滤器,拦截器

    springboot使用jsp,过滤器,拦截器(拦截器与过滤器区别重点) jsp使用配置 一 创建springboot项目在maven中暂时只添加两个Dependencies :devtools(热部 ...

  10. linux安装couchbase

    一.卸载 查看已安装的版本 rpm -qa|grep couchbase 卸载已安装的版本 rpm -e xxxx 二.安装 安装couchbase rpm -i xxxx.rpm 浏览器中访问809 ...