每天10个前端知识点:各种宽高距离篇

个人博客已上线,欢迎前去访问评论!
无媛无故 - wangchloe的个人博客


以下内容若有问题烦请即时告知我予以修改,以免误导更多人。


1. 滚动距离

html简写:document.documentElement

  • document.body.scrollTop
    兼容:Chrome
    其他 -> 0
  • document.documentElement.scrollTop
    兼容:IE、FF
    其他 -> 0

兼容写法
纵向:var scrollT = document.documentElement.scrollTop || document.body.scrollTop;
横向:var scrollL = document.documentElement.scrollLeft || document.body.scrollLeft;

2. 滚动高度

obj.scrollHeight

  • 内容高度 > 盒模型高度 取内容高度
  • 盒模型高度 > 内容高度 去盒模型高度

3. 可视区高度

  • 可视区高度:var clientH = document.documentElement.clientHeight;
  • 可视区宽度:var clientW = document.documentElement.clientWidth;

兼容:全兼容

4. 物体高度

获取的是盒模型大小 = width/height + padding + border;

  • 物体的高度:var oH = obj.offsetHeight;
  • 物体的宽度:var oW = obj.offsetWidth;

注意:offsetWidth/height只有append进body后才有,创建时获取不到盒模型的大小。

5. offsetHeight && getStyle()

offsetHeightgetStyle()
返回值数字
获取值获取的是盒模型的大小(width/height+padding+border)
display:none后0

6. 物体的相对距离

  • 物体距离定位父级左边距离:var oL = obj.offsetLeft;
  • 物体距离定位父级上边距离:var oT = obj.offsetTop;

7. 关于父级

  • 结构父级 obj.parentNode 根:document
  • 定位父级 obj.offsetParent 根:body

8. 封装一个物体距离左边/上边的绝对位置的函数

<script>
    function getPos(obj) {
        var l = 0;  // 距离左边的绝对距离
        var t = 0;  // 距离上边的绝对距离
        while(obj) {
            l += obj.offsetLeft;
            t += obj.offsetTop;
            obj = obj.offsetParent; // 继续查找上一层定位父级
        }

        return {left: l, top: t};
    }
</script>

更多内容可以订阅本人微信公众号,一起开启前端小白进阶的世界!
微信公众号:无媛无故

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值