`
woshixushigang
  • 浏览: 578377 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

什么是ImageLazyLoad技术

阅读更多

什么是ImageLazyLoad技术
在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面(通过滚动条下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升。
怎么实现ImageLazyLoad
一、使用JQuery插件 ,插件名: jquery.lazyload(7kb大小),压缩后(3kb大小)

在线压缩js http://closure-compiler.appspot.com/home
虽然是很牛X的特效,不过用JQuery插件只需要短短几句代码,使用过程如下:
1.导入JS插件
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>
2.在你的页面中加入如下的javascript:
$("img").lazyload();
这将会使所有的图片都延迟加载。

当然插件还有几个配置项可供设置。
1.改变threshold
$(“img”).lazyload({ threshold : 200 });
把阀值设置成200 意思就是当图片没有看到之前先load 200像素。

2.当然了你也可以通过设置占位符图片和自定事件来触发加载图片事件
复制代码
代码如下:

$("img").lazyload({
placeholder : "img/grey.gif",
event : "click"
});

3.可以通过定义effect 参数来定义一些图片显示效果
复制代码
代码如下:

$("img").lazyload({
placeholder : "img/grey.gif",
effect : "fadeIn"
});

LazyLoad(延迟加载)技术不仅仅用在对网页中图片的延迟加载,对数据同样可以,Google Reader和Bing图片搜索就把
LazyLoad技术运用的淋漓尽致;
缺陷:
1.与Ajax技术的冲突;
2.图片的延迟加载,遇到高度特别高的图片,会出现停止加载的问题;
3.写代码不规范的同学要注意了,不管由于什么原因,如果您的页面中,img标签的height属性未定义,那么我建议您最好不要使用ImageLazyLoad
大家可以直接采用淘宝的延迟加载技术:(2kb大小)
http://a.tbcdn.cn/kissy/1.0.0/build/imglazyload/imglazyload-min.js
调用方法也是很简单的:
<script src="http://a.tbcdn.cn/kissy/1.0.0/build/imglazyload/imglazyload-min.js"
type="text/javascript"></script> <script type="text/javascript">// <![CDATA[KISSY.ImageLazyload();// ]]></script>
注:该脚本依赖 yahoo-dom-event, 页面中需要加载 yui 2.x,你也可以直接引用下面的地址:
<script src="http://kissy.googlecode.com/svn/trunk/third-party/yui2/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"></script>
配置参数如下:
复制代码
代码如下:

<script type="text/javascript">
KISSY.ImageLazyload({
mod: "manual", // 延迟模式。默认为 auto
diff: 200 // 当前屏幕下多远处的图片开始延迟加载。默认两屏外的图片才延迟加载
});
</script>

manual 模式时,需要手动将页面中需要延迟加载的图片的 src 属性名更改为 data-lazyload-src. 比如 SRP 页面,宝贝列表的后20个图片延迟加载。 输出时,html 代码为:


<img data-lazy-src="path/to/img" alt="something" />

如果您是Jquery,Prototype等这些JS框架的粉丝,他们都有定制的LazyLoad Plugin提供;

可查看http://www.appelsiini.net/projects/lazyload

LazyLoad(延迟加载)技术不仅仅用在对网页中图片的延迟加载,对数据同样可以,Google Reader和Bing图片搜索就把
LazyLoad技术运用的淋漓尽致;

 

附录: 实例 http://www.shintian.com/

代码:

<script type="text/javascript" src="http://www.shintian.com/wp-content/themes/WPINK_P/js/jquery.js"></script>

<script type="text/javascript" src="http://www.shintian.com/wp-content/themes/WPINK_P/js/jquery.lazyload.js"></script>

<script>

$(function() {         
    $(".post img").lazyload({
        placeholder : "http://www.shintian.com/wp-content/themes/WPINK_P/images/grey.gif",
            effect : "fadeIn"
          });
    });

</script>

 

--------------------------------------------------------------

分享到:
评论

相关推荐

    jquery图片延迟加载

    什么是ImageLazyLoad技术 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见...

    jquery.lazyload 实现图片延迟加载jquery插件

    什么是ImageLazyLoad技术 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面...

    图片延迟加载(imageLazyLoad)

    图片延迟加载(Image Lazy Load)是一种优化网页性能的技术,它主要应用于含有大量图片的页面,以提高页面加载速度和用户体验。这种技术的核心思想是只在图片实际需要显示时(即进入用户视口)才进行加载,而不是一...

    lazyLoad.js懒加载技术应用实例

    lazyLoad懒加载技术应用实例,适用于图片多的网站。...这里要实现的功能:可见页面的图片是加载的,而不可见页面通过滚动条下拉可见,这也叫做“ImageLazyLoad技术”,需要用到延迟加载的jQuery插件

    基于jQuery的图片延迟加载功能的实现

    其中,图片延迟加载技术是一种有效提高网页加载速度的技术,通过延迟非可视区域内图片的加载来减轻服务器负担,并提升用户的浏览体验。本文将详细介绍如何利用jQuery框架来实现图片延迟加载功能。 #### 二、jQuery...

    MUI 解决动态列表页图片懒加载再次加载不成功的bug问题

    MUI中的图片懒加载主要依赖于`$.fn.imageLazyload`这个函数,它遍历DOM元素,查找没有`data-imageLazyload`属性的元素,并为它们创建一个新的`ImageLazyload`实例,从而实现图片的延迟加载。每个图片元素在初始化后...

    图片懒加载

    在图片加载时均采用了一种名为懒加载的方式,具体表现为,当页面被请求时,只加载可视区域的图片,其它部分的图片则不加载src="data:image/gif;base64,R0...https://github.com/pniemczyk/ImageLazyLoad

Global site tag (gtag.js) - Google Analytics