zoukankan      html  css  js  c++  java
  • 元素位置及宽度的计算总节

    1.dom.getBoundingClientRect().left/top/right/bottom/height/width;

    返回元素相对于浏览器窗口的相对位置及自身的宽高。

    IE中只能获取到元素的left,top,bottom,right的属性,而后面的现代浏览器还能获取到元素的width和height.

    Chrome Firefox (Gecko) Internet Explorer Opera Safari
    1.0 3.0 (1.9) 4.0 (Yes) 4.0

    这里要注意的是,bottom是元素底部相对于窗口顶部的距离,而不是像css里面position的bottom相对于窗口底部,同理,rihgt属性是元素最右边相对于窗口左边的距离。

    2.dom.scrollTop/scrollLeft;

    包含滚动条的元素目前滚动到的位置距离元素顶端的距离。

    3.dom.scrollWidth/scrollHeight;

    元素width+padding的宽度/元素height+padding的高度。这里的width/height指显示出来是宽和可滚动部分的宽。

    4.dom.clientWidth/clientHeight;

    元素可视区域的width+padding/元素可视区域的height+padding;不包含可滚动的部分。

    5.dom.offsetWidth/offsetHeight;

    元素可视区域的width+padding+border/元素可视区域的height+padding+border;不包含可滚动部分。如果有滚动条则包含滚动条的宽度。详细的可见上一篇文章。

    6.dom.offsetParent;

    . offsetParent定义:offsetParent就是距离该子元素最近的进行过定位的父元素(position:absolute  relative fixed),如果其父元素中不存在定位则offsetParent为:body元     素

    . 根据定义分别存在以下几种情况

    【1】元素自身有fixed定位,父元素不存在定位,则offsetParent的结果为null(firefox中为:body,其他浏览器返回为null)

    【2】元素自身无fixed定位,且父元素也不存在定位,offsetParent为<body>元素

    【3】元素自身无fixed定位,且父元素存在定位,offsetParent为离自身最近且经过定位的父元素

    【4】<body>元素的offsetParent是null

    浏览器兼容性
         在以WebKit为核心的浏览器上,如果元素是隐藏的(该元素或者上级元素style.display='none')或者元素自身style.position='fixed',那么就会返回null。
         在IE(9)上如元素style.position='fixed',该属性就会返回null。(然而display:none不影响这个浏览器)
         当元素本身经过绝对定位相对定位,且父级元素无经过定位的元素时,IE7-浏览器下,offsetParent是<html>
     

    //获取元素的纵坐标

    1 function getTop(e){
    2   var offset=e.offsetTop;
    3   if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
    4   return offset;
    5 }

    //获取元素的横坐标

    1 function getLeft(e){
    2   var offset=e.offsetLeft;
    3   if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
    4   return offset;
    5 }

    7.screenX/screenY;

    鼠标相对于屏幕左上角的水平和垂直距离;

    8.clientX/clientY;

    鼠标相对于浏览器窗口左上角的水平和垂直距离;

    9.pageX/pageY;

    鼠标距离页面原点/顶端左上角的水平和垂直距离;兼容性:IE不支持(在ie中使用event.x,event.y来代替),其他高级游览器支持。

    10.offsetX/offsetY;

    鼠标距离该元素(鼠标所在元素)左上角的水平和垂直距离。

  • 相关阅读:
    Jmeter关联-获取token值
    Jmeter接口测试
    Jmeter关联,正则表达式提取器使用2
    Jmeter关联,正则表达式提取器使用1
    Jmeter-CSV Data Set Config参数化
    Fiddler基本用法:手机抓包1
    接口测试该怎样入手?
    Fiddler简介与Web抓包,远程抓包(IE、360、谷歌、火狐)
    PHP 插件资源
    利用PHP递归 获取所有的上级栏目
  • 原文地址:https://www.cnblogs.com/BlingSun/p/8915715.html
Copyright © 2011-2022 走看看