当前位置: 代码迷 >> Web前端 >> 取得页面的高度(转载)
  详细解决方案

取得页面的高度(转载)

热度:143   发布时间:2012-11-23 00:03:29.0
获得页面的高度(转载)
function getDocHeight(doc){
 //在IE中doc.body.scrollHeight的可信度最高
 //在Firefox中,doc.height就可以了
 var docHei = 0;
 var scrollHei;//scrollHeight
 var offsetHei;//offsetHeight,包含了边框的高度


 if (doc.height){
     //Firefox支持此属性,IE不支持

     docHei = doc.height;
 }else if (doc.body){
     //在IE中,只有body.scrollHeight是与当前页面的高度一致的,

     //其他的跳转几次后就会变的混乱,不知道是依照什么取的值!
     //似乎跟包含它的窗口的大小变化有关
     if(doc.body.offsetHeight) docHei = offsetHei = doc.body.offsetHeight;
     if(doc.body.scrollHeight) docHei = scrollHei = doc.body.scrollHeight;
 }else if(doc.documentElement){
     if(doc.documentElement.offsetHeight) docHei = offsetHei = doc.documentElement.offsetHeight;
     if(doc.documentElement.scrollHeight) docHei = scrollHei = doc.documentElement.scrollHeight;
 }
 /*
 docHei = Math.max(scrollHei,offsetHei);//取最大的值,某些情况下可能与实际页面高度不符!

 */
 return docHei;
}
function getTiptopWindow(win){
	var cwindow = null;
	if(win){
		cwindow = win;
	}else{
		cwindow = window
	}
	while(true){
		var pwindow = cwindow.parent;
		if(cwindow == pwindow){
			break;
		}
		cwindow = pwindow;
	}
	return cwindow;
}

?

?使用方法:

var docHei = getDocHeight(getTiptopWindow(this).document);

?

?

  相关解决方案