lazyload

写了个lazyload,其实以前也写过一个版本,只是感觉太耗资源了,这次重写了一个,优化了一下。目前来说感觉还行吧,等以水平提高了,再继续优化吧。(另:感谢檬檬桑给我提供的domReady函数,相当在天朝这么神奇的国度,不会出现网速极快的情况吧,所以这个函数应该还可以。呵呵,当然你也可以用自己的domReay.)

JS:

function lazyload(){this.init.apply(this,arguments)};
lazyload.prototype = {
	init:function(container,img,defaultImg){
		/*
			参数说明:
			container   :外层框,也可以是window
			img         :需要延时加载的图片的集合
			defaultImg  :默认替换图片
		*/
		var _this = this;
		var doc = document, 
			isWindow = container == window 
						|| container == doc 
						|| !container.tagName
						|| (/^(?:body|html)$/i).test(container.tagName);
		if(isWindow) container = doc.compatMode == 'CSS1Compat' ? doc.documentElement : doc.body;
		this.container = container;
		this.img = img;
		this.items_property = [];
		defaultImg = defaultImg || 'blank.gif';
		//domReady的时候this.items_property里存放每个图片的位置,高宽。
		this.domReady(function(){
			var i=0,len=_this.img.length;
			for(;i

HTML:(外框为普通层)





无标题文档




HTML:(外框为window)





无标题文档




转载于:https://www.cnblogs.com/sky000/archive/2010/11/24/1886410.html

你可能感兴趣的:(lazyload)