• js中尺寸类样式


    js中尺寸类样式

    一:鼠标尺寸类样式

    都要事件对象的配合

    Tip:注意与浏览器及元素尺寸分开,鼠标类尺寸样式都是X,Y,浏览器及元素的各项尺寸时Height,Width

    1:检测相对于浏览器的位置:event.clientX/event.clientY

    client:整个浏览器的可视区域,当点击鼠标的时候,鼠标事件发生的位置距离浏览器可视区域的左边和上边的距离
    clientX:鼠标事件发生的位置距离浏览器可视区域的左边的距离
    clientY:鼠标事件发生的位置距离浏览器可视区域的上边的距离

    2:检测相对于屏幕的位置event.screenX/event.screenY

    screen:整个屏幕的大小,当鼠标点击的时候,鼠标事件发生的位置相对于屏幕的左边和上边的距离
    event.screenX:鼠标事件发生的位置距离屏幕左边的距离
    event.screenY:鼠标事件发生的位置距离屏幕上边的距离
    

      

    3:检测相对于事件源的位置:event.offsetX/event.offsetY

    Tip:注意这个事件源的模型,offset的检测是不包括边框的大小的,但是包括内边距,如果边框的大小为10px,那么最左边的X的距离为-10;

    offset:相对于事件源,当鼠标事件发生时,相对于发生事件的事件源的左边的距离和上边的距离
    event.offsetX:当鼠标事件发生时,相对于发生事件的事件源的左边的距离
    event.offsetY:当鼠标事件发生时,相对于发生事件的事件源的上边的距离

    4:检测相对于文档的位置:event.pageX/event.pageY

    Tip:这个文档指的这个页面,页面在不发生滚动的情况下,浏览器的可视区域等于文档的可视区域,
    这个时候event.clientX = event.offetX
    一旦页面发生了滚动,那么滚动消失的距离,page是可以检测来的,这时候
    event.cientX 与 event.pageX的距离是不相等的
    page:页面文档,当页面发生了滚动的,早上文档顶部隐藏了一部分,pageX的距离还是从文档最顶的距离开始检测的
    pageX:当鼠标事件发生时,鼠标相对于文档左边的位置(IE7,8没有)
    pageY:当鼠标事件发生时,鼠标相对于文档上边的位置(IE7,8没有)

    二:浏览器及元素各项尺寸

    offsetParent:获取元素的最近的具有定位属性的父元素

     

    1:元素.offsetWidth/元素.offsetHeight:元素的实际宽高

    Tip:元素的实际宽高是包括边框的,指的是这个元素的全部

    offset:针对元素的
    offsetWidth:元素的宽度
    offsetHight:元素的高度
    

      
    2:元素.offsetLeft/元素.offsetTop,针对具有定位属性的父元素的左边和上边的距离

    Tip:从边框的边缘开始检测的

    offset:针对元素的
    offsetLeft:元素对于具有定位属性的父元素的左边距
    offsetTop:元素对于具有定位属性的父元素的上边距

    3:元素.clientWidth/元素.clientHeight

    client:不包括元素的边框
    clientWidth:元素的可视宽度
    clientHeight:元素的可视高度

    4:元素.clientLeft/元素.clientTop

    cilentLeft:当前元素的左边框的大小
    
    clientTop:当前元素的上边框的大小
    

      

    5:元素.scrollHeight/元素.scrollwidth

    cilentLeft:当前元素的左边框的大小
    
    clientTop:当前元素的上边框的大小

    6:元素scrollTop/元素.scrollLeft

    scrollTop:滚动条最顶端和可见内容的最顶端的距离
    scrollLeft:滚动条最左端和可见内容的最左边的距离

      


    作者:九夏
    出处:https://www.cnblogs.com/jiuxia/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    云小课 | 华为云KYON之VPC终端节点
    华为云专家向宇:工欲善其事必先利其器,才能做数据的“管家”
    NB-IoT四大关键特性及实现告诉你,为啥NB
    Base64 原理
    netty系列之:轻轻松松搭个支持中文的服务器
    轻松让你的nginx服务器支持HTTP2协议
    是的你没看错,HTTP3来了
    HTTP协议之:HTTP/1.1和HTTP/2
    netty系列之:在netty中使用protobuf协议
    protocol buffer的高效编码方式
  • 原文地址:https://www.cnblogs.com/jiuxia/p/11444088.html
Copyright © 2020-2023  润新知