lazyLoad 懒加载 图片例子

2 篇文章 0 订阅
1 篇文章 0 订阅

因为项目与图片资源服务器分离,而首页若是全部加载图片的话会很慢、所以研究了一下懒加载的例子,然后适用到了项目中。


大概的思路就是创建个div 、然后滚动条事件绑定  检测显示的页面div是否在一个高度的条件内、在给图片的src赋值、 


需要jquery.js      我的版本是1.7.1min


<script src="jquery-1.7.1.min.js"></script>



<style type="text/css">
#lazyLoadImage img{ width:159px; height:71px; border:1px solid #CCCCCC; padding:3px; float:left; margin:10px; visibility:visible;opacity:0.00;filter:alpha(opacity=00);-moz-opacity:0.0;}
</style>



filter:alpha(opacity=00);是 ie的、

-moz-opacity:0.0; 是ff的、


<script>
function imgLazyLoad(){//扫描需要加载的div
	$.each($("#lazyLoadImage img"),function(i,o){		
		//获取窗口高		
		var windowHeight=$(window).height();
		//获取滚动条
		var scrollTop=$(document).scrollTop();
		windowHeight=windowHeight; //可以设置滚动条在显示某个高度来lazyload   windowHeight=windowHeight/2; 比如在显示屏幕高度2分之1的时候加载
		
		
		//先判断是否是加载完的图片 跳出
		if($(o).attr("src")==$(o).attr("pic")){
			return true;
		}else if( $(o).offset().top<=(scrollTop+windowHeight)  && $(o).offset().top >= scrollTop ){//判断div是不是出在可见的位置
			if($(o).attr("pic") != undefined || $(o).attr("pic") != "undefined" ){
				var ObjectSrc = $(o).attr("pic");
				//把pic的值赋给src值
				$(o).attr("src",ObjectSrc);
				//css属性改为可见
				$(o).css("visibility","visible");
				//渐变时间和渐变值
				$(o).fadeTo(1000,1.00);
			}
		}				
	});	
}
$(function(){//页面第一次加载时
	imgLazyLoad();//初始化
	//判断浏览器
	if($.browser.msie){
		//IE浏览器
		$(window).scroll(imgLazyLoad);//浏览器的兼容
	}else {
		//其他浏览器 ff chrome 测试通过
		$(document).scroll(imgLazyLoad);//当滚动条滚动时,扫描需要加载的div
	}
	
	//$("body").scroll(imgLazyLoad);//浏览器的兼容   不清楚是哪款浏览器
});
</script>




<div id="lazyLoadImage">
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
<img pic="http://csdnimg.cn/www/images/csdnindex_logo.gif"/>
...请批量复制多个图片
<div>


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值