jQuery lazyload 的重复加载错误以及修复方法


Posted in Javascript onNovember 19, 2010

分析代码也可以知道。
最主要的原因是 写在页面上的 <img src="the_big_img_toLoad.jpg" />一经加载,就去向服务器申请图片地址,加载大图片。
如果想实现原定的效果,则 写在页面上的待加载地址 必须不能是大图片的地址,而我们可以将真正的图片地址数据 存储在alt属性中。
正确的例子如下:

<a href="#nogo"><img alt="https://3water.com/comstyles/img200-150-3.jpg" src="http://sc.3water.com/style/img/spacer.gif" alt="200-150" /></a> 
<a href="#nogo"><img alt="https://3water.com/comstyles/img200-150-4.jpg" src="http://sc.3water.com/style/img/spacer.gif" alt="200-150" /></a>

对原来的 jquery.lazyload.js我们也需要做一点改动:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<script type="text/javascript" src="lazyload.js"></script> 
<script type="text/javascript"> //初始化代码 
$(document).ready(function(){ 
$("#lazy1 img,#lazy2 img").lazyload({ 
placeholder : "http://sc.3water.com/style/img/spacer.gif", 
effect : "fadeIn" 
}); 
}); 
</script>

完整实例如下:
<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>无标题文档</title> 
<style type="text/css"> 
img{ display:block; border:2px solid #ccc; margin:0 0 10px;} 
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<script type="text/javascript" src="lazyload.js"></script> 
<script type="text/javascript"> //初始化代码 
$(document).ready(function(){ 
$("#lazy1 img,#lazy2 img").lazyload({ 
placeholder : "http://qsl.cn/style/img/spacer.gif", 
effect : "fadeIn" 
}); 
}); 
</script> 
</head> 
<body> 
<div style=" height:900px; width:400px; background:#eee;"> 
<a href="#nogo"><img src="http://www.titan24.com/comstyles/img200-150-2.jpg" alt="200-150" /></a> 
第一屏高度为900px,滚动到下面的时候,相应图片才开始加载 
</div> 
<div id="lazy1" style="width:350px; margin-bottom:340px;"> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/ad400-300.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="400-300" /></a> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img200-150-1.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img200-150-2.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
</div> 
<div id="lazy2" style="width:350px;"> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img200-150-3.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img200-150-4.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img560-300-1.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img560-300-2.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img560-300-3.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
<a href="#nogo"><img alt="http://www.titan24.com/comstyles/img560-300-4.jpg" src="http://qsl.cn/style/img/spacer.gif" alt="200-150" /></a> 
</div> 
</body> 
</html>

测试可知 是真正的按需加载。而不是像之前,先加载了,滚动到相应位置 还又加载了一次。
Firebug的眼睛还是雪亮的。
Javascript 相关文章推荐
JavaScript 读取元素的CSS信息的代码
Feb 07 Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 Javascript
json与jsonp知识小结(推荐)
Aug 16 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
详解Vue中过度动画效果应用
May 25 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
Jul 15 Javascript
canvas绘制爱心的几种方法总结(推荐)
Oct 31 Javascript
vue以组件或者插件的形式实现throttle或者debounce
May 22 Javascript
详解Jest结合Vue-test-utils使用的初步实践
Jun 27 Javascript
js设计模式之代理模式及订阅发布模式实例详解
Aug 15 Javascript
swiper实现异形轮播效果
Nov 28 Javascript
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
JQuery 选择和过滤方法代码总结
Nov 19 #Javascript
基于jquery的一个OutlookBar类,动态创建导航条
Nov 19 #Javascript
非阻塞动态加载javascript广告实现代码
Nov 17 #Javascript
javascript实现的使用方向键控制光标在table单元格中切换
Nov 17 #Javascript
Google AJAX 搜索 API实现代码
Nov 17 #Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 #Javascript
菜鸟学习JavaScript小实验之函数引用
Nov 17 #Javascript
You might like
提升PHP速度全攻略
2006/10/09 PHP
php header示例代码(推荐)
2010/09/08 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
php数组生成html下拉列表的方法
2015/07/20 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
理解JavaScript的prototype属性
2012/02/11 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
JS模板实现方法
2013/04/03 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
python抓取网页内容示例分享
2014/02/24 Python
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
椰子猫砂:CatSpot
2018/08/27 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
村官工作鉴定评语
2014/01/27 职场文书
高中英语演讲稿范文
2014/04/24 职场文书
企业文明单位申报材料
2014/05/16 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
幼师辞职信范文
2015/02/27 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python