加载代码片断

这个是蛮久以前的东西了,当一个页面有太多内容的时候,我们可以把第一屏以外的内容放到一个textarea里面,让textarea隐藏,这样一开始内容是不会加载的,同时页面就会更快的呈现给用户,当用户在浏览第一屏的内容的时候,我们可以再用JS让浏览器加载textarea里面的内容,或者当用户把滚动条拖到下面的时候再加载,那么这里就需要一个加载HTML代码片断的函数,

//加载HTML代码片断
function loadHtmlSnippet(source,target,callback){
	var iframe = document.createElement('iframe'),doc,html = source.value;
	iframe.style.cssText = 'position:absolute;left:-999999px;width:0px;height:0px;';
	document.body.appendChild(iframe);
	doc = iframe.contentDocument || iframe.contentWindow.document;
	doc.open();
	doc.writeln(html);
	iframe.attachEvent ? iframe.attachEvent('onload',_onload) : iframe.onload = _onload;
	function _onload(){
		target.innerHTML = html;
		callback && callback();
		document.body.removeChild(iframe);
	}
	doc.close();
};

  

说明: 参数

source就是textarea对象
target就是将加载进来的HTML代码放到里面
callback就是当代码加载完后执行的回调
posted @ 2013-01-11 16:02  zjhsd2007  阅读(244)  评论(0编辑  收藏  举报