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 相关文章推荐
解析使用js判断只能输入数字、字母等验证的方法(总结)
May 14 Javascript
jquery.form.js用法之清空form的方法
Mar 07 Javascript
JavaScript常用小技巧小结
Dec 29 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
Jun 27 Javascript
javascirpt实现2个iframe之间传值的方法
Jun 30 Javascript
BootStrap入门教程(一)之可视化布局
Sep 19 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 jQuery
fullpage.js最后一屏滚动方式
Feb 06 Javascript
vue+element模态框中新增模态框和删除功能
Jun 11 Javascript
JS防抖和节流实例解析
Sep 24 Javascript
javascript中Set、Map、WeakSet、WeakMap区别
Dec 24 Javascript
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中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
深入理解Python3 内置函数大全
2017/11/23 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
python使用matplotlib画饼状图
2018/09/25 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
给酒店员工的表扬信
2014/01/11 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
小学毕业感言500字
2014/02/28 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
祝酒词范文
2015/08/12 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
只用20行Python代码实现屏幕录制功能
2021/06/02 Python
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers