JavaScript四大家族之client家族

javascript 元素对象拥有client家族主要属性:

clientHeight:  (可见区域高度:height+padding)

clientWidth:  (可见区域宽度:width+padding)

clientLeft  (资料显示是当前元素的offsetLeft距离当前窗口左边的距离,但通过我的测试发现值永远等于border-left,并且在w3c的DOM Element上找不到clientLeft相关信息)

clientTop  (资料显示是当前元素的offsetLeft距离当前窗口左边的距离,但通过我的测试发现值永远等于border-top,并且在w3c的DOM Element上找不到clientTop相关信息)

client可通过元素对象的属性clientWidth和clientHeight找到它。

但整个浏览器的滚动条即document的滚动条元素归属存在兼容性问题。

IE678以及其他浏览器认为整个文档对象属于document.documentElement元素的即html。

未声明DTD <!DOCTYPE html> 的浏览器认为文档对象属于document.body元素的。

所以只要找正确元素即可实现浏览器兼容。if(document.CompatMode==CSS1Compat)表示支持document.documentElement元素,else 表示支持document.body元素。

最新浏览器IE9+及其他浏览器都认为整个文档属于Window对象的,可通过Window.innerWidth和Window.innerHeight获得

注:参考网址http://www.w3school.com.cn/jsref/dom_obj_all.asp

原文地址:https://www.cnblogs.com/Gxqsd/p/7337651.html