js中document.documentElement 和document.body 以及其属性 clientWidth等
2016-07-12 15:05
399 查看
在设计页面时可能经常会用到固定层的位置,这就需要获取一些html对象的坐标以更灵活的设置目标层的坐标,这里可能就会用到document .body.scrollTop等属性,但是此属性在xhtml标准网页或者更简单的说是带标签的页面里得到的结果是0,如果不要此标签则一切正常,那么在xhtml页面怎么获得body的坐标呢,当然有办法-使用document .documentElement来取代document .body,可以这样写
例:
var top = document .documentElement.scrollTop || document .body.scrollTop;
在javascript里||是个好东西,除了能用在if等条件判断里,还能用在变量赋值上。那么上例等同于下例。
例:
这么写可以得到很好的兼容性。
相反,如果不做声明的话,document .documentElement.scrollTop反而会显示为0。
得到各个属性如下:
要获取当前页面的滚动条纵坐标位置,用:
而不是:
document .body.scrollTop;
documentElement 对应的是 html 标签,而 body 对应的是 body 标签。
例:
var top = document .documentElement.scrollTop || document .body.scrollTop;
在javascript里||是个好东西,除了能用在if等条件判断里,还能用在变量赋值上。那么上例等同于下例。
例:
var top = document .documentElement.scrollTop ? document .documentElement.scrollTop : document .body.scrollTop;
这么写可以得到很好的兼容性。
相反,如果不做声明的话,document .documentElement.scrollTop反而会显示为0。
得到各个属性如下:
网页可见区域宽: document .body.clientWidth; 网页可见区域高: document .body.clientHeight; 网页可见区域宽: document .body.offsetWidth (包括边线的宽); 网页可见区域高: document .body.offsetHeight (包括边线的宽); 网页正文全文宽: document .body.scrollWidth; 网页正文全文高: document .body.scrollHeight; 网页被卷去的高: document .body.scrollTop; 网页被卷去的左: document .body.scrollLeft; 网页正文部分上: window.screenTop; 网页正文部分左: window.screenLeft; 屏幕分辨率的高: window.screen.height; 屏幕分辨率的宽: window.screen.width; 屏幕可用工作区高度: window.screen.availHeight; 屏幕可用工作区宽度:window.screen.availWidth;
scrollHeight: 获取对象的滚动高度。 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度 offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标 event.offsetX 相对容器的水平坐标 event.offsetY 相对容器的垂直坐标 document .documentElement.scrollTop 垂直方向滚动的值 event.clientX+document .documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
要获取当前页面的滚动条纵坐标位置,用:
document .documentElement.scrollTop;
而不是:
document .body.scrollTop;
documentElement 对应的是 html 标签,而 body 对应的是 body 标签。
相关文章推荐
- 以Python角度学习Javascript(二)之DOM
- Yelp API(v2) with Mode.js support--handling of authentication
- JS设置cookie、读取cookie、删除cookie
- 纯js 判断手势滑动方向
- js生成json数据
- js 获取当前时间
- Javascript面向对象编程
- JS判断客户端是手机还是PC的2个代码(转)
- AJAX之Json序列化
- javascript第二天
- JSky-web
- js点超链接后,禁止跳转
- javascript放在head和body的区别(w3c建议放在head标签中)
- js的for in具有不适应性(转)
- Eclipse让js进行代码提示,做到和java文件一样;---HTML/CSS/JSP代码提示,同理
- html5常用js简介之二
- jsp里面相对路径显示不出来图的问题
- 利用ExtJS实现:年级班级增删改查
- js 导航脚本 ,判断当前导航
- ECMAScript 6 学习系列课程 (ES6 常用内置方法的使用)