1. offsetLeft[Top]

  当前元素到定位父级(即offsetParent)的距离(偏移值 )。
  父级没有定位:
  offsetParent -> body
  offsetLeft[Top] -> html

  父级有定位:
  ie 7:
    如果自己没有定位,那么offsetLeft[Top]是到body的距离。
    如果自己有定位,那么就是到定位父级的距离。
  其他:
    到定位父级的距离。

2.元素宽高

  元素.style.width : 样式宽,带单位;

  元素.clientWidth : 可视区宽(样式宽 + padding),不带单位;

  元素.offsetWidth : 占位宽(可视区宽 + border),不带单位;

  高与宽类似,将width 替换为 height即可。

3.获取元素位置的函数
<!DOCTYPE html>
<html>
<head>
<title>获取元素的位置</title>
<meta charset="utf-8">
<style type="text/css">
div{padding:30px 40px;}
#div1{border:2px dashed red;}
#div2{border:2px dashed green;}
#div3{border:2px dashed blue;}
</style>
</head>
<body>
<div id="div1">
<div id="div2">
<div id="div3"> </div>
</div>
</div>
<script type="text/javascript">
var oDiv3 = document.getElementById('div3');
var p = getPos(oDiv3);
function getPos(obj){
var pos={"left":0,"top":0};
while(obj){
pos.left += obj.offsetLeft;
pos.top += obj.offsetTop;
obj = obj.offsetParent;
}
return pos;
}
alert(p.left); //弹出92
alert(p.top); //弹出72
</script>
</body>
</html>

js学习笔记17----元素的各种位置,尺寸的更多相关文章

  1. Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

    f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...

  2. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  3. JS学习笔记5_DOM

    1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性 ...

  4. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  5. WebGL three.js学习笔记 加载外部模型以及Tween.js动画

    WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...

  6. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  7. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  8. Ext.Net学习笔记17:Ext.Net GridPanel Selection

    Ext.Net学习笔记17:Ext.Net GridPanel Selection 接下来是Ext.Net的GridPanel的另外一个功能:选择. 我们在GridPanel最开始的用法中已经见识过如 ...

  9. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

随机推荐

  1. RAC安装gird,第一个节点执行root.sh报"The ora.asm resource is not ONLINE"错误

    RAC版本:11.2.0.4 OS版本:linux 6.4 RAC安装gird,第一个节点执行root.sh运行失败,报"The ora.asm resource is not ONLINE ...

  2. mysql-cluster 环境安装&配置

    一.mysql-cluster 的介绍: 1.说心里话mysql-cluster这货性能上是不行的,之前一个同事测试了来的结果是8个主机组成的mysql-cluster性能 上搞不过一个单机的mysq ...

  3. Linux下hosts、host.conf、resolv.conf的区别

    /etc/resolv.conf 该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数.resolv.conf的关键字主要有四个,分别是:nameserver   #定 ...

  4. 教你如何写thinkphp多表查询语句

    1.table()函数 thinkphp中提供了一个table()函数,具体用法参考以下语句: $list=$Demo->table('think_blog blog,think_type ty ...

  5. MSSQLid清零

    truncate table [cellphone2016].[dbo].[tp_phone_9]

  6. 【Android】16.5 Android内置的系统服务

    分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 实际上,在Android.Content.Context类中,Android已经提供了多种类型的系统服务,这些服务 ...

  7. 【Android】5.3 单选和复选

    分类:C#.Android.VS2015: 创建日期:2016-02-07 一.简介 1.CheckBox 复选 [Checked]属性:是否选中. 2.RadioButton 单选 [Checked ...

  8. nc 传输文件

    在接收服务器上执行:(123.57.36.227) [root@ ~]# cat /tmp/user.txt hello world [root@ ~]# nc -v -l -p >/tmp/u ...

  9. posix多线程--线程取消

    1.三种取消状态Off                   禁用取消Deferred           推迟取消:在下一个取消点执行取消Asynchronous   异步取消:可以随时执行取消 in ...

  10. Python中if __name__ == '__main__':作用

    #hello.pydef sayHello(): str="hello" print(str); if__name__=="__main__": print ( ...