js中offsetTop、clientTop、scrollTop
2020-12-13 02:48
标签:style blog class code java tar Js中的offsetTop、clientTop、scrollTop各属性介绍 页可见区域宽:
document.body.clientWidth;
/document.documentElement.clientWidth 插曲:document.body
docuemnt.document.documentElement的比较
document.body是DOM中Document对象里的body节点,
document.documentElement是文档对象根节点(html)的引用。 document.body.scrollHeight和document.documentElement.scrollHeight的区别:
document.body.scrollHeight是body元素的滚动高度,document.documentElement.scrollHeight为页面的滚动高度,且
document.documentElement.scrollHeight在IE和Firefox下还有点小差异。 1、offset obj 为某个 HTML 控件。 obj.offsetTop 指 obj
距离上方或上层控件的位置,整型,单位像素。 obj.offsetLeft 指 obj
距离左方或上层控件的位置,整型,单位像素。 obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。 obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。 offsetTop 与 style.top 的区别 我们知道 offsetTop 可以获得 HTML 元素距离上方或外层元素的位置,style.top 也是可以的,二者的区别是: 一、offsetTop 返回的是数字,而 style.top 返回的是字符串,除了数字外还带有单位:px。 二、offsetTop 只读,而
style.top 可读写。 三、如果没有给 HTML 元素指定过 top 样式,则 style.top 返回的是空字符串。 offsetLeft 与 style.left、offsetWidth 与 style.width、offsetHeight 与
style.height 也是同样道理。 2、clientHeight clientHeight 大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。 offsetHeight IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。 NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。 scrollHeight IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。 NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。 简单地说 clientHeight 就是透过浏览器看内容的这个区域高度。 NS、 FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight
时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。 IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight
则是网页内容实际高度。 同理 clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。 但是 FF 在不同的 DOCTYPE 中对 clientHeight 的解释不同, xhtml 1 trasitional
中则不是如上解释的。其它浏览器则不存在此问题。 标题:scrollTop、scrollLeft、scrollWidth、scrollHeight 3、scrollLeft scrollTop 是“卷”起来的高度值,示例: var p = document.getElementById("p"); p.scrollTop = 10; 由于为外层元素 p 设置了 scrollTop,所以内层元素会向上卷。 scrollLeft 也是类似道理。 我们已经知道 offsetHeight 是自身元素的宽度。 而 scrollHeight 是内部元素的绝对宽度,包含内部元素的隐藏的部分。 上述中 p 的 scrollHeight 为 300,而 p 的 offsetHeight 为 100。 scrollWidth 也是类似道理。 IE 和 FireFox 全面支持,而 Netscape 和 Opera 不支持 scrollTop、scrollLeft(document.body
除外)。 4、clientLeft 返回对象的offsetLeft属性值和到当前窗口左边的真实值之间的距离,可以理解为边框的长度 一直以来对offsetLeft,offsetTop,scrollLeft,scrollTop这几个方法很迷糊,花了一天的时间好好的学习了一下.得出了以下的结果: 1.offsetTop : 当前对象到其上级层顶部的距离. 不能对其进行赋值.设置对象到页面顶部的距离请用style.top属性.。。。。。。 2.offsetParent : 当前对象的上级层对象. 注意.如果对象是包括在一个DIV中时,此DIV不会被当做是此对象的上级层,(即对象的上级层会跳过DIV对象)上级层是Table时则不会有问题. 3.scrollLeft : 对象的最左边到对象在当前窗口显示的范围内的左边的距离. 即是在出现了横向滚动条的情况下,滚动条拉动的距离. 例子: div.scrollTop = div.scrollHeight;
使滚动条滚动到最后 设置div显示滚动条 垂直滚动条 参数的意义: js中offsetTop、clientTop、scrollTop,搜素材,soscw.com js中offsetTop、clientTop、scrollTop 标签:style blog class code java tar 原文地址:http://www.cnblogs.com/hansu/p/3720719.html
网页可见区域高:
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;
IE在怪异模型(quick mode)下document.documentElement无法正确取到clietHeight
scrollHeight等值,比如clietHeight=0。可以见IE的怪异模
型并没有把html作为盒子模型的一部分,好在现在很少使用怪异模型。(注:如果页面没写DTD或写的不对,IE6默认使用怪异模型解析页面)
IE :
document.documentElement.scrollHeight = document.body.scrollHeight + marginTop
bottom高度 + 上下border宽度
firefox :
document.documentElement.scrollHeight = document.body.scrollHeight + marginTop
bottom高度
设置是否显示滚动条主要是在CSS中设置下列的属性:
overflow-x:横向滚动条
overflow-y:纵向滚动条
visible :
不剪切内容也不添加滚动条。假如显式声明此默认值,对象将被剪切为包含对象的window或frame的大小。并且clip属性设置将失效。
auto :
此为body对象和textarea的默认值。在需要时剪切内容并添加滚动条
hidden : 不显示超过对象尺寸的内容
scroll
: 总是显示滚动条
overflow:auto; 这个表示当你内容超过div高度出现垂直的滚动条
文章标题:js中offsetTop、clientTop、scrollTop
文章链接:http://soscw.com/essay/26349.html