有时候需要在页面中弹出一个div显示内容,并将之居中。如果使用固定top,left当屏幕大小发生变化时就会错位。
用下面js函数可获得当前屏幕下的居中位置,需jq支持。
function centerwh(obj)
{
var h1 = document.body.clientHeight;
var h2 = document.documentElement.clientHeight;
var isXhtml = (h2<=h1&&h2!=0)?true:false;
var body = isXhtml?document.documentElement:document.body;
var wh={left:0,top:0};
var vwh={w:0,h:0};
vwh.w=$.browser.msie?parseInt(body.clientWidth):parseInt(window.innerWidth);
vwh.h=$.browser.msie?parseInt(body.clientHeight):parseInt(window.innerHeight);
wh.left=(vwh.w/2)-parseInt($(obj).css(“width”))/2;
wh.top=body.scrollTop+(vwh.h/2)-parseInt($(obj).css(“height”))/2;
$(obj).css(“top”,wh.top);
$(obj).css(“left”,wh.left);
//return wh;
}
obj指需要居中的div,如用id需加#,如center(‘#divid’);

Recent Comments