网页图片延时加载的js代码


Posted in Javascript onApril 22, 2010

实现原理 

把所有需要延时加载的图片改成如下的格式:

网页图片延时加载的js代码

然后在页面加载时,把所有使用了lazy_src的图片都保存到数组里,然后在滚动时计算可视区域的top,然后把延时加载的图片中top小于当前可视区域(即图片出现在可视区域内)的图片的src的值用lazy_src的来替换(加载图片)

代码

lazyLoad=(function() { var map_element = {}; var element_obj = []; var download_count = 0; var last_offset = -1; var doc_body; var doc_element; var lazy_load_tag; function initVar(tags) { doc_body = document.body; doc_element = document.compatMode == 'BackCompat' ? doc_body: document.documentElement; lazy_load_tag = tags || ["img", "iframe"]; }; function initElementMap() { var all_element = []; //从所有相关元素中找出需要延时加载的元素 for (var i = 0, len = lazy_load_tag.length; i key) { var t_o = map_element[key]; var img_vl = t_o.length; for (var l = 0; l

使用方法:把页面上需要延时加载的图片src改成为lazy_src,然后把上面的js放到body最后面,然后调用:lazyLoad.init();

调戏的方法可以使用firebug来查看一时图片是否是延时加载。

另外:

如果你的页面上存在有内容切换的栏目的话,可能在切换时切换的内容里的图片可能会不显示,处理的方法是在内容时单独图片加载处理,如:

///切换内容的代码... chlid.find("img[init_src]").each(function(){ $(this).attr("src",$(this).attr("init_src")); $(this).removeAttr("init_src"); });

Javascript 相关文章推荐
基于jQuery的简单的列表导航菜单
Mar 02 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
教你如何使用PHP输出中文JSON字符串
May 22 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
Jun 13 Javascript
JavaScript中ES6字符串扩展方法
Aug 26 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
Dec 23 Javascript
ES6概念 Symbol toString()方法
Dec 25 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
Mar 07 Javascript
JavaScript中严格判断NaN的方法
Feb 16 Javascript
vue组件name的作用小结
May 23 Javascript
小程序测试后台服务的方法(ngrok)
Mar 08 Javascript
JavaScript字符串处理常见操作方法小结
Nov 15 Javascript
基于jQuery的表格操作插件
Apr 22 #Javascript
JQuery实现的在新窗口打开链接的方法小结
Apr 22 #Javascript
JQuery 技巧和窍门整理(8个)
Apr 22 #Javascript
超级酷和最实用的jQuery实例收集(20个)
Apr 21 #Javascript
基于jquery的超简单上下翻
Apr 20 #Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
Apr 20 #Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
Apr 20 #Javascript
You might like
php Mysql日期和时间函数集合
2007/11/16 PHP
php 随机生成10位字符代码
2009/03/26 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
Python中的默认参数实例分析
2018/01/29 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
Python如何调用外部系统命令
2019/08/07 Python
python同步windows和linux文件
2019/08/29 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
Python configparser模块操作代码实例
2020/06/08 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
自我评价优秀范文分享
2013/11/30 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python
Python实现照片卡通化
2021/12/06 Python