DOM常见属性

DOM常见属性

以下属性必须保证DOM已经添加在页面中,如果没有添加则无法调用
client(客户) offset(偏移) scroll(滚动条)
宽 clientWidth offsetWidth scrollWidth
高 clientHeight offsetHeight scrollHeight

	 client(客户) offset(偏移 scroll(滚动条)
位    clientLeft offsetLeft scrollLeft
置    clientTop  offsetTop  scrollTop

offset包括border:height+border+padding
client不包括border:width+padding

元素的宽高:
元素 无滚动条
div.clientWidth,div.clientHeight//宽高+padding
div.offsetWidth,div.offsetHeight//宽高+padding+border
div.scrollWidth,div.scrollHeight//宽高+padding

元素 有滚动条
div.clientWidth,div.clientHeight//宽高+padding-滚动条宽高
div.offsetWidth,div.offsetHeight//宽高+padding+border
div.scrollWidth,div.scrollHeight//实际内容的宽高+padding

(body和html)无滚动条
document.body.clientWidth,document.body.clientHeight//当前页面body的宽度,是html标签-两个8px的margin,
body因为开始没有内容时,高度为0,如果有内容被撑开,高度即为内容高度
document.documentElement.clientWidth,document.documentElement.clientHeight//当前页面的宽高,和页面内容无关,是当前文档显示区域的宽高
document.body.offsetWidth,document.body.offsetHeight//宽高和client
document.documentElement.offsetWidth,document.documentElement.offsetHeight//宽度和client一样,但是高度是当前内容高度
document.body.scrollWidth,document.body.scrollHeight//与client相同
document.documentElement.scrollWidth,document.documentElement.scrollHeight//与client相同

(body和html)有滚动条
document.body.clientWidth,document.body.clientHeight//当前页面body的宽度,是html标签-两个8px的margin,
body因为开始没有内容时,高度为0,如果有内容被撑开,高度即为内容高度
document.documentElement.clientWidth,document.documentElement.clientHeight//当前页面的宽高,和页面内容无关,是当前文档显示区域的宽高
document.body.offsetWidth,document.body.offsetHeight//宽高和client
document.documentElement.offsetWidth,document.documentElement.offsetHeight
宽度是Body的offsetWidth+margin(82),
高度是Body的OffsetHeight+margin(8
2)
document.body.scrollWidth,document.body.scrollHeight);//与client相同
document.documentElement.scrollWidth,document.documentElement.scrollHeight//宽度与client相同,高度,如果内容的高度小于可是窗口高度,则为可是窗口高度,如果大于可视窗口高度,则为内容高度

元素的位置:
无定位
div1.clientLeft,div1.clientTop//边线粗细
div1.offsetLeft,div1.offsetTop//相对视口坐标

有定位(父级有定位,父级无定位)
div1.clientLeft,div1.clientTop//边线粗细
div1.offsetLeft,div1.offsetTop//相对父元素的坐标

有滚动条的 只有这个可以设置改变
div2.scrollLeft,div2.scrollTop);
div2.scrollTop=100;//指的是视口顶部距离实际内容大小的顶部距离
div2.scrollLeft=50; //指的是视口左边距离实际内容大小的左边距离

body和html的scroll位置
过去谷歌浏览器中获取设置的是body的scroll,现在都使用html的scroll

直接设置是不能改变
document.body.scrollTop=100;
document.documentElement.scrollTop=100;

交互后可以改变
document.οnclick=function(){
document.documentElement.scrollTop=100;
}

console.log(document.documentElement.scrollTop);//获取滚动位置

document.οnscrοll=function(){
var rect=div2.getBoundingClientRect()
console.log(rect);
}
getBoudingClientRect( )- 该方法返回元素的大小及其相对于视口的位置
right是左边距视口的距离加宽度
bottom是上边距视口的距离加高度
如果是标准盒子模型,元素的尺寸等于width/height + padding + border-width的总和。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值