• JS中的offsetWidth、offsetHeight、clientWidth、clientHeight


    offsetWidth       //返回元素的宽度(包括元素宽度内边距 + 边框不包括外边距

    offsetHeight      //返回元素的高度(包括元素高度内边距 + 边框不包括外边距

    clientWidth        //返回元素的宽度(包括元素宽度 + 内边距不包括边框和外边距

    clientHeight       //返回元素的高度(包括元素高度 + 内边距不包括边框和外边距

    style.width         //返回元素的宽度(包括元素宽度不包括内边距、边框和外边距

    style.height       //返回元素的高度(包括元素高度不包括内边距、边框和外边距

    scrollWidth       //返回元素的宽度(包括元素宽度 + 内边距 + 溢出尺寸不包括边框和外边距),无溢出的情况,与clientWidth相同

    scrollHeigh       //返回元素的高度(包括元素高度 + 内边距 + 溢出尺寸不包括边框和外边距),无溢出的情况,与clientHeight相同

    1. style.width 返回的是字符串,如28px,offsetWidth返回的是数值28;

    2. style.width/style.height与scrollWidth/scrollHeight是可读写的属性,clientWidth/clientHeight与offsetWidth/offsetHeight是只读属性

    3. style.width的值需要事先定义,否则取到的值为空。而且必须要定义在html里(内联样式),如果定义在css里,style.height的值仍然为空,但元素偏移有效;而offsetWidth则仍能取到。

    //-----------------------------------------------------------------------------------------------

    offsetTop    //返回元素的上外缘距离最近采用定位父元素内壁的距离,如果父元素中没有采用定位的,则是获取上外边缘距离文档内壁的距离。

                 所谓的定位就是position属性值为relative、absolute或者fixed。返回值是一个整数,单位是像素。此属性是只读的。

    offsetLeft       //此属性和offsetTop的原理是一样的,只不过方位不同,这里就不多介绍了。

    scrollLeft        //此属性可以获取或者设置对象的最左边到对象在当前窗口显示的范围内的左边的距离,也就是元素被滚动条向左拉动的距离。

                 返回值是一个整数,单位是像素。此属性是可读写的。

    scrollTop   //此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边的距离,也就是元素滚动条被向下拉动的距离。

                 返回值是一个整数,单位是像素。此属性是可读写的。

    //-------------------------------------------------------------------------------------------------

    当鼠标事件发生时(不管是onclick,还是omousemove,onmouseover等)

    clientX        鼠标相对于浏览器(这里说的是浏览器的有效区域)左上角x轴的坐标;  不随滚动条滚动而改变;

    clientY        鼠标相对于浏览器(这里说的是浏览器的有效区域)左上角y轴的坐标;  不随滚动条滚动而改变;

    pageX        鼠标相对于浏览器(这里说的是浏览器的有效区域)左上角x轴的坐标;  随滚动条滚动而改变;

    pageY        鼠标相对于浏览器(这里说的是浏览器的有效区域)左上角y轴的坐标;  随滚动条滚动而改变;

    screenX     鼠标相对于显示器屏幕左上角x轴的坐标;  

    screenY      鼠标相对于显示器屏幕左上角y轴的坐标;  

    offsetX        鼠标相对于事件源左上角X轴的坐标

    offsetY        鼠标相对于事件源左上角Y轴的坐标

  • 相关阅读:
    Nginx 启动错误 Failed to read PID from /run/nginx.pid
    CentOS7 下 nginx 无法加载 Django 静态文件的问题
    SSD + 机械硬盘装 CentOS 分区的问题
    CentOS7 单机维护模式
    编译安装 redis 6.2.1
    谷歌师兄刷题笔记
    我用 DCL 写出了单例模式,结果阿里面试官不满意!
    红黑树杀人事件始末
    头条二面:详述一条 SQL 的执行流程
    jvisual远程 springBoot项目
  • 原文地址:https://www.cnblogs.com/lchsirblog/p/11836662.html
Copyright © 2020-2023  润新知