document.body.clientWidth的奇怪问题
(1)、当在 <html> 前加:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN "
"http://www.w3.org/TR/html4/loose.dtd ">
如果页面的margin大于0,则document.body.clientWidth的值就比margin=0时document.body.clientWidth的值小20
(2)、而当 <html> 前没有
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN "
"http://www.w3.org/TR/html4/loose.dtd ">
无论margin的值为多少document.body.clientWidth的值都一样大
请问如何使情况(1)的document.body.clientWidth值和情况(2)一样。非常感谢!
------解决方案--------------------别加那个东西就行啦~``反正你的网页也达不到那个标准~~~~加了有什么意义?
------解决方案--------------------帮顶。建议还是取了吧。
------解决方案--------------------document.documentElement.clientWidth
页面上不是只有BODY的
------解决方案--------------------var MzElement={}; //节选自 jsframework
MzElement.body=function()
{
var W, H, SL, ST;
var w=window, d=document, dd=d.documentElement;
if(w.innerWidth) W=w.innerWidth;
else if(dd&&dd.clientWidth) W=dd.clientWidth;
else if(d.body) W=d.body.clientWidth;
if(w.innerHeight) H=w.innerHeight;
else if(dd&&dd.clientHeight) H=dd.clientHeight;
else if(d.body) H=d.body.clientHeight;
if(w.pageXOffset) SL=w.pageXOffset;
else if(dd&&dd.scrollLeft) SL=dd.scrollLeft;
else if(d.body) SL=d.body.scrollLeft;
if(w.pageYOffset) ST=w.pageYOffset;
else if(dd&&dd.scrollTop) ST=dd.scrollTop;
else if(d.body) ST=d.body.scrollTop;
return { "scrollTop ":ST, "scrollLeft ":SL, "clientWidth ":W, "clientHeight ":H};
}
var body = MzElement.body();
alert(body.clientWidth);