zoukankan      html  css  js  c++  java
  • js中各种距离clientWidth

    1: offsetLeft、offsetTop、offsetHeight、offsetWidth

    • 1.1 偏移参照——定位父级offsetParent

        offsetParent的定义是:与当前元素最近的经过定位(position不等于static)的父级元素

      要理解offsetLeft、offsetTop、offsetHeight、offsetWidth , 它们都是相对于offsetParent计算,主要分为下列几种情况 :

      1. 元素自身有fixed定位,offsetParent的结果为null ; 当元素自身有fixed固定定位时,我们知道固定定位的元素相对于视口进行定位,此时没有定位父级,offsetParent的结果为null ; 备注:[注意]firefox浏览器有兼容性问题,返回<body>    
      2. 元素自身无fixed定位,且父级元素都未经过定位,offsetParent的结果为<body>
      3. 元素自身无fixed定位,且父级元素存在经过定位的元素,offsetParent的结果为离自身元素最近的经过定位的父级元素
      4. <body>元素的parentNode是null

      

    • 1.2 计算方式见图:

      

        备注:如果存在垂直滚动条,offsetWidth也包括垂直滚动条的宽度;如果存在水平滚动条,offsetHeight也包括水平滚动条的高度

    • 1.3注意事项

      【1】所有偏移量属性都是只读的

      【2】如果给元素设置了display:none,则它的偏移量属性都为0

      【3】每次访问偏移量属性都需要重新计算(避免重复访问这些属性。如果需要重复访问,则把它们的值保存在变量中,以提高性能。)

    2:clientHeightclientWidth、clientTop、clientLeft

    可视区大小client又称为可见大小或客户区大小,指的是元素内容及其内边距所占据的空间大小

       

       2.1   clientHeight

          clientHeight属性返回元素节点的可见高度

        clientHeight = padding-top + height + padding-bottom

      2.2   clientWidth

          clientWidth属性返回元素节点的可见宽度

        clientWidth = padding-left + height + padding-right

        [注意]滚动条宽度不计算在内

         2.3   clientTop : 
        返回上边框的宽度

         2.4   clientLeft : 
       
    返回左边框的宽度

         2.5 注意事项 :
       【1】所有可视区client属性都是只读的
       【2】如果给元素设置了display:none,则可视区client属性都为0
       【3】每次访问可视区client属性都需要重新计算



    3: scrollHeight、scrollWidth、scrollTop、scrollLeft

    3.1 scrollHeight 元素的实际高度
    3.2 scrollWidth 元素的实际宽度
    3.3 scrollTop 如果出现y轴滚动条,那么就是 页面看不到的上边的高度
    3.4 scrollLeft 如果x轴出现滚动条,那么就是 页面看不到的左边的宽度



    4 : 事件 e 的一些距离

    clientX 设置或获取鼠标指针位置相对于当前窗口的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。
    clientY 设置或获取鼠标指针位置相对于当前窗口的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。

    offsetX 设置或获取鼠标指针位置相对于触发事件的对象(自身)的 x 坐标。
    offsetY 设置或获取鼠标指针位置相对于触发事件的对象(自身)的 y 坐标。

    screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。
    screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。

    x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标(亦即相对于当前窗口)。
    y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标(亦即相对于当前窗口)。






  • 相关阅读:
    POJ 2240 Arbitrage spfa 判正环
    POJ 3259 Wormholes spfa 判负环
    POJ1680 Currency Exchange SPFA判正环
    HDU5649 DZY Loves Sorting 线段树
    HDU 5648 DZY Loves Math 暴力打表
    HDU5647 DZY Loves Connecting 树形DP
    CDOJ 1071 秋实大哥下棋 线段树
    HDU5046 Airport dancing links 重复覆盖+二分
    HDU 3335 Divisibility dancing links 重复覆盖
    FZU1686 神龙的难题 dancing links 重复覆盖
  • 原文地址:https://www.cnblogs.com/vs1435/p/6992997.html
Copyright © 2011-2022 走看看