kiinlam
6/27/2014 - 3:19 AM

获取窗口尺寸函数

获取窗口尺寸函数

var getDocRect = function(doc){
		doc = doc || document;

		var win = doc.defaultView || doc.parentWindow,
			mode = doc.compatMode,
			root = doc.documentElement,
			h = win.innerHeight || 0,
			w = win.innerWidth || 0,
			scrollX = win.pageXOffset || 0,
			scrollY = win.pageYOffset || 0,
			scrollW = root.scrollWidth,
			scrollH = root.scrollHeight,
			offsetW,offsetH;

		if (mode != 'CSS1Compat') { // Quirks
			root = doc.body;
			scrollW = root.scrollWidth;
			scrollH = root.scrollHeight;
		}

		if (mode && !Browser.opera) { // IE, Gecko
			w = root.clientWidth;
			h = root.clientHeight;
		}

		scrollW = Math.max(scrollW, w);
		scrollH = Math.max(scrollH, h);

		scrollX = Math.max(scrollX, doc.documentElement.scrollLeft, doc.body.scrollLeft);
		scrollY = Math.max(scrollY, doc.documentElement.scrollTop, doc.body.scrollTop);
		offsetW =document.body.offsetWidth||document.documentElement.offsetWidth;
		offsetH = document.body.offsetHeight||document.documentElement.offsetHeight;
		return {
			width: w,
			height: h,
			scrollWidth: scrollW,
			scrollHeight: scrollH,
			scrollX: scrollX,
			scrollY: scrollY,
			contentWidth:(scrollW == w ? offsetW:scrollW),
            contentHeight:(scrollH == h ? offsetH:scrollH)
		};	
	};