日期:2014-05-16  浏览次数:20340 次

同事写的一个js遮罩

/**
 * 遮罩
 * 用法:objTools.loading();
 * 关闭:$("#wbox_cover").remove();
 * 注意:z-dindex:1000 设定可能造成全覆盖
 */
objTools = {
	setPositionToCenter: function(node){
		node.style.position = "absolute";
		node.style.top = (objTools.getHeight() - node.offsetHeight) /2 + objTools.getTop() + "px";
		node.style.left = (objTools.getWidth() - node.offsetWidth) / 2 + "px";
	},
	
	getScrollHeight: function(){
		 return Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);
	},
	
	getWidth: function(){
		var width=0;
		if(document.documentElement && document.documentElement.clientWidth)
		{
			width=document.documentElement.clientWidth;
		}
		else if(document.body && document.body.clientWidth)
		{
			width=document.body.clientWidth;
		}
		else if(window.innerWidth)
		{
			width=window.innerWidth-18;
		}
		return width;
	},
	
	getHeight: function(){
		 var height=0;
		 if(window.innerHeight)
		 {
			 height=window.innerHeight-18;
		 }
		 else if(document.documentElement && document.documentElement.clientHeight)
		 {
			 height=document.documentElement.clientHeight;
		 }
		 else if(document.body && document.body.clientHeight)
		 {
			 height=document.body.clientHeight;
		 }
		 return height;
	},
	
	getTop: function(){
		 var scrollY=0;
		 if(document.documentElement && document.documentElement.scrollTop)
		 {
			 scrollY=document.documentElement.scrollTop;
		 }
		 else if(document.body && document.body.scrollTop)
		 {
			 scrollY=document.body.scrollTop;
		 }
		 else if(window.pageYOffset)
		 {
			 scrollY=window.pageYOffset;
		 }
		 else if(window.scrollY)
		 {
			 scrollY=window.scrollY;
		 }
		 return scrollY;
	},
	
	getLen: function(str){
		var len = 0;
		for (var i=0; i<str.length; i++) {
		  if (str.charCodeAt(i) > 127)
		   len += 2;
		  else
		   len++;
		}
		return len;
	},
	
	loading: function(){
		var elemCover = document.createElement("div");
		elemCover.id = "wbox_cover";
		elemCover.style.position = "absolute";
		elemCover.style.backgroundColor = "#000";
		elemCover.style.opacity = "0.3";
		elemCover.style.filter = "alpha(opacity=30)";
		elemCover.style.top = 0;
		elemCover.style.left = 0;
		elemCover.style.width = "100%";
		elemCover.style.zIndex = 1000;
		elemCover.style.height = objTools.getScrollHeight() + "px";
		document.body.appendChild(elemCover);
	}
};
?