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 像素坐标(亦即相对于当前窗口)。






  • 相关阅读:
    ssh工具推荐MobaXterm 可能是你遇到过的比较出色的一款
    IDEA不能读取配置文件,springboot配置文件无效、IDEA resources文件夹指定
    修改设置notepad++默认保存文件格式
    java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介
    Synchronized锁性能优化偏向锁轻量级锁升级 多线程中篇(五)
    java并发多线程显式锁Condition条件简介分析与监视器 多线程下篇(四)
    java多线程Lock接口简介使用与synchronized对比 多线程下篇(三)
    java 并发多线程 锁的分类概念介绍 多线程下篇(二)
    java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)
    sql修改二进制加密密码
  • 原文地址:https://www.cnblogs.com/vs1435/p/6992997.html
Copyright © 2011-2022 走看看