• Element.getBoundingClientRect()


    参考: https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect

    1.Element.getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置

    如果是标准盒子模型,元素的尺寸等于width/height + padding + border-width的总和。如果box-sizing: border-box,元素的的尺寸等于 width/height

    top ==  Y    left == X   返回true

     

    2.当计算边界矩形时,会考虑视口区域(或其他可滚动元素)内的滚动操作,也就是说,当滚动位置发生了改变,top和left属性值就会随之立即发生变化(因此,它们的值是相对于视口的,而不是绝对的)。如果你需要获得相对于整个网页左上角定位的属性值,那么只要给top、left属性值加上当前的滚动位置(通过 window.scrollX 和 window.scrollY),这样就可以获取与当前的滚动位置无关的值。

     3.跨浏览器兼容

    请使用 window.pageXOffset 和 window.pageYOffset 代替 window.scrollX 和 window.scrollY。不能访问这些属性的脚本可以使用下面的代码:

    // For scrollX
    (((t = document.documentElement) || (t = document.body.parentNode))
      && typeof t.scrollLeft == 'number' ? t : document.body).scrollLeft
    // For scrollY
    (((t = document.documentElement) || (t = document.body.parentNode))
      && typeof t.scrollTop == 'number' ? t : document.body).scrollTop
    

    4.scrollHeight与scrollTop 

    判定元素是否滚动到底: element.scrollHeight - element.scrollTop === element.clientHeight

     

     
  • 相关阅读:
    20140710 sequence 前缀和
    20140709 testC 数学题
    20140708 testA 组合数学
    20140708 testB DP 组合数学
    Sad :(
    已经是一个废人了……
    Game Theory
    HDU Math Problems
    2-sat问题
    并查集
  • 原文地址:https://www.cnblogs.com/zhouhongdan/p/14029038.html
Copyright © 2020-2023  润新知