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 相关文章推荐
jquery自定义滚动条插件示例分享
Feb 21 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
jquery实现标题字体变换的滑动门菜单效果
Sep 07 Javascript
JS实现IE状态栏文字缩放效果代码
Oct 24 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
Angular中$state.go页面跳转并传递参数的方法
May 09 Javascript
基于jstree使用AJAX请求获取数据形成树
Aug 29 Javascript
JS运动特效之任意值添加运动的方法分析
Jan 24 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 Javascript
vue单页应用的内存泄露定位和修复问题小结
Aug 02 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
Sep 02 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 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实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
对python制作自己的数据集实例讲解
2018/12/12 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
Python安装selenium包详细过程
2019/07/23 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
详解Python中的文件操作
2021/01/14 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
美德好少年主要事迹
2014/01/29 职场文书
销售经理岗位职责
2014/03/16 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
二手车转让协议书
2015/01/29 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS