`

JavaScript——延迟加载技术

阅读更多

       自从接触电脑开始,就迷恋了两部动漫,火影和死神,记得以前看的时候,要等图片完全加载完成才能看到,最近半年的时间,发现打开漫画的速度是越来越快了,加载的方式也发生了一些变化。

        查了一下,才知道他们使用了一种新的加载技术——图片延迟加载技术,那么什么才是图片延迟加载技术(ImageLazyLoad)呢?

        在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可是界面的图片是加载进来的,而不可见页面(通过滚动条下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升。

        眼下网上使用此技术的网站有太多太多,如淘宝,还有一些动漫网站,他们都使用了这种技术。

        眼下比较常用的图片延迟加载技术有四种:kissy(淘宝的JS框架),Jquery 图片延迟插件,Prototype,YUI 2。

        抽时间去网上查查了,YUI的图片延迟技术是就成熟的,Jquery的图片延迟插件的设计灵感就来自于YUI的延迟技术(Lazyloader is inspired by YUI ImageLoader Utility by Matt Mlinac),闲话不说,一起来看看如何使用。

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 ReaderBing图片搜索就把LazyLoad技术运用的淋漓尽致;

但做为技术而言没有十全十美的技术,缺点也是有的:

1.与Ajax技术的冲突;

2.图片的延迟加载,遇到高度特别高的图片,会出现停止加载的问题;

3.写代码不规范的朋友要注意了,不管由于什么原因,如果您的页面中,img标签的height属性未定义,那么我建议您最好不要使用ImageLazyLoad。

分享到:
评论

相关推荐

    jquery图片延迟加载

    在网页设计中,图片延迟加载(Lazy Loading)是一种优化技术,用于提升页面加载速度和用户体验。当用户滚动页面时,只加载视口内的图片,而非一次性加载所有图片。这种方式可以减少首屏加载时间,尤其是对于图片众多...

    JavaScript——Ajax

    JavaScript中的Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax的核心是通过XMLHttpRequest对象与服务器进行异步数据交换,并使用JavaScript处理和...

    JavaScript凌厉开发——Ext JS3详解与实践

    9. **性能优化**:理解Ext JS3的性能瓶颈和优化策略,如延迟加载、组件复用等,可以帮助开发者创建高性能的应用。 10. **最佳实践**:掌握如何编写可维护、可扩展的代码,遵循最佳实践,如模块化、代码组织、文档...

    【ZT】图片延迟加载 jquery.lazyload插件

    标题中的“【ZT】图片延迟加载 jquery.lazyload插件”指的是使用jQuery库的一个扩展插件——jQuery Lazyload,该插件主要用于实现图片的延迟加载技术。延迟加载是一种优化网页性能的方法,它允许图片在用户滚动到...

    网站延时加载

    描述中提到的"网站延时加载图片js",是指使用JavaScript来实现图片的延迟加载。当图片不在用户当前视口内时,浏览器不会下载该图片的数据,而是显示一个进度指示或者占位符。一旦用户滚动页面使图片进入视口,...

    在JavaScript应用中使用RequireJS来实现延迟加载

    它通过一种基于模块的加载机制来延迟加载依赖的JavaScript文件,仅在实际需要时才加载对应的模块。这样,可以显著减少页面初次加载时需要下载的资源量,提升用户体验。 RequireJS通过它的核心特性——依赖管理和...

    JavaScript_——DOM总结.txt

    通过 DOM 和 BOM,JavaScript 能够实现对网页的动态控制和操作,这是现代 Web 开发的核心技术之一。理解 DOM 和 BOM 的工作原理对于成为一名合格的前端开发者至关重要。此外,掌握这些技术也有助于优化用户体验,...

    浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结.docx

    - 支持延迟加载和动态加载,即按需加载。 - 采用更加灵活的模块加载机制,允许开发者在模块加载过程中动态添加依赖。 - **与AMD的区别**: - CMD允许模块之间的依赖传递,即可以在定义模块时动态地添加依赖,而...

    图片浏览器——JS

    4. 图片预加载:为了避免用户在切换图片时出现延迟,可以使用JavaScript预先加载下一张或多张图片。 5. 兼容性和性能优化:考虑到不同浏览器的兼容性问题,可能需要使用polyfill或条件语句来确保代码在各种环境下都...

    前端经典——lazyload懒加载.rar

    懒加载,也称为延迟加载或按需加载,是指不一次性加载所有资源,而是只在用户需要时才加载。这种策略尤其适用于图像、视频等大体积媒体内容,可以显著减少页面初次加载时间,提高用户体验,同时节省服务器带宽和用户...

    网页模板——纯javascript仿做土豆网豆单列表载入图片特效.zip

    此外,可能还涉及到图片的预加载技术,确保图片在用户滚动到视窗范围内时已经准备就绪,避免延迟和卡顿。 土豆网的“豆单”是一个视频集合的概念,这里的“豆单列表”可能是指一系列包含图片和标题的条目,每个条目...

    网页模板——javascript 图片查看器(可缩放、旋转、翻转).zip

    这可能包括延迟加载、图片预加载、使用Web Workers处理复杂计算等技术。 10. **兼容性处理**:虽然现代浏览器对JavaScript和CSS3的支持较好,但为了确保在旧版本或非主流浏览器中的可用性,需要进行兼容性检查和...

    ASP[1].NET+2.0+Ajax——Web开发技术详解 20章

    Ajax(Asynchronous JavaScript and XML)技术则引入了无刷新页面更新的概念,提升了用户体验。本教程详细阐述了如何结合ASP.NET 2.0与Ajax技术进行高效、互动的Web开发。 1. ASP.NET 2.0基础知识: - **页面生命...

    javascript实现图片延迟加载方法汇总(三种方法)

    看到一些大型网站,页面如果有很多图片的时候,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片...js实现图片延迟加载方法一: &lt;!DOCTYPE HTML PUBLI

    Java Script 经典教程(五)——JavaScript几段特效

    在"Java Script 经典教程(五)——JavaScript几段特效"中,我们将深入探讨如何利用JavaScript为网页添加各种动态效果,提升用户体验。 1. **DOM操作**:DOM(Document Object Model)是HTML或XML文档的结构化表示...

    gif动态图片播放Facebook特效.zip

    首先,我们要理解这个特效的核心概念——延迟加载(Lazy Loading)。这是一种优化网页性能的技术,它避免一次性加载所有资源,而是只在需要时才加载。对于动态GIF图片,这意味着初始展示的是一张静态的封面图片,...

    网页模板——纯javascript制作T恤花纹图案预览特效源码.zip

    7. **AJAX异步请求**:虽然题目没有明确提到,但若花纹图案需要从服务器动态获取,AJAX(Asynchronous JavaScript and XML)技术可以用来实现无刷新加载,提升用户体验。 8. **ES6语法**:现代JavaScript开发通常...

Global site tag (gtag.js) - Google Analytics