offset 、client 、scroll 三大系列总结

offset 系列

 let father = document.querySelector('.father');
 let son = document.querySelector('.son');

1.可以得到元素的偏移位置 , 返回的不带单位的数值

 console.log(father.offsetTop);
 console.log(father.offsetLeft);

它以带有定位的父亲为准 如果么有父亲或者父亲没有定位 则以 body 为准。
console.log(son.offsetLeft);

2.可以得到元素的大小 宽度和高度 是包含padding + border + width

 var w = document.querySelector('.w'); 
        console.log(w.offsetWidth);
        console.log(w.offsetHeight);

3.返回带有定位的父亲 否则返回的是body
console.log(son.offsetParent); 返回带有定位的父亲 否则返回的是body
console.log(son.parentNode); 返回父亲 是最近一级的父亲 ,不管父亲有没有定位。

client 系列

let div = document.querySelector(‘div’);
console.log(div.clientWidth);等等。

scroll系列

let div = document.querySelector('div');

div.addEventListener('scroll', function() {
            console.log(div.scrollTop);
        })

scroll滚动事件当我们滚动条发生变化会触发的事件;
输出的值是被滚走内容的 高度。
scrollHeight 、scrollWidth。

三大系列大小对比:
element.offsetWidth :返回自身包括padding、边框、内容区的宽的。
element.clientWidth :返回自身包括padding、内容区的宽度,不包含边框。
element.scrollWidth :返回自身实际宽度,不含边框。
三者返回数组都不带单位。

三者主要用法:
1.offset系列经常用于获得元素位置 offsetLeft 、 offsetTop
2.client系列常用于获取元素大小 clientWidth 、clientHeight
3.scroll经常用于获取滚动距离 scrollTop 、scrollLeft
4.注意页面滚动的距离通过window.pageXOffset \ window.pageYOffset 获得。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值