getBoundingClientRect获取元素位置 

getBoundingClientRect用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。

getBoundingClientRect()最先是IE的私有属性,现在已经是一个W3C标准。所以你不用当心浏览器兼容问题,不过还是有区别的:IE只返回top,lef,right,bottom四个值,不够可以通过以下方法来获取width,height的值:

var ro = object.getBoundingClientRect();
    var Width = ro.right - ro.left;
    var Height = ro.bottom - ro.top;

兼容所有浏览器写法:

var ro = object.getBoundingClientRect();
    var Top = ro.top;
    var Bottom = ro.bottom;
    var Left = ro.left;
    var Right = ro.right;
    var Width = ro.width||Right - Left;
    var Height = ro.height||Bottom - Top;

有了这个方法,获取页面元素的位置就简单多了:

var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;
    var Y =this.getBoundingClientRect().top+document.documentElement.scrollTop;

转载于:https://www.cnblogs.com/CyLee/p/6729619.html

javascript 温故而知新 getBoundingClientRect相关推荐

  1. JavaScript中getBoundingClientRect()方法详解

    JavaScript中getBoundingClientRect()方法详解 getBoundingClientRect() 这个方法返回一个矩形对象,包含四个属性:left.top.right和bo ...

  2. JavaScript 温故而知新(一)语法

    文章目录 javaScript的组成 在HTML中使用JavaScript JavaScript的注释与分号 JAVAScript的语法 JAVAScript的标识符 JAVAScript的变量 Ja ...

  3. Python 02 Selenium 账号密码登录CSDN

    Python selenium 账号密码登录CSDN from time import sleep from selenium import webdriverdef login():url = 'h ...

  4. Mysql日期时间格式化 %Y-%m-%d %H:%i:%S

    获取当前时间戳 mysql> select unix_timestamp(now()); +-----------------------+ | unix_timestamp(now()) | ...

  5. JS+BOM+DOM汇总

    文章目录 前言:JavaScript的发展史 第一章:BOM 1.1.概念 1.2.组成:window.Navigator.Screen. History.Location 1.3.方法 第二章:DO ...

  6. 移动端字体大小单位rem

    首先先将几个主要概念讲一下: 什么是移动端? :移动端故名思义是为移动终端,大名叫移动通信终端,是指可以在移动中使用的计算机设备.其实就是我们常说的手机.  什么是布局? :对事物的全面规划和安排,布 ...

  7. java selenium一一操作定位元素

    java selenium操作定位元素 1.元素选择策略 1.1.使用选择器的提示 2.定位元素 3.定位多个元素 4.相对定位 4.1.above() 1.元素选择策略 WebDriver 中有 8 ...

  8. new 操作符具体干了什么

    一.定义 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一 在创建一个新的实例的时候,必须使用 new 操作符.而使用 new 操作符会经历以下 4 个步骤: 创建一个新 ...

  9. Selenium 008 WebDriver 文档

    WebDriver 文档 入门指南 WebDriver 以本地化方式驱动浏览器,就像用户在本地或使用 Selenium 服务器的远程机器上所做的那样,这标志着浏览器自动化的飞跃. Selenium W ...

最新文章

  1. 菜鸟学Linux命令:ssh命令 远程登录
  2. 骰子的妙用---课堂答题
  3. mysql php commit_php mysqli_autocommit()使用实例
  4. 2016级算法期末模拟练习赛-A.wuli51和京导的毕业旅行
  5. Scalaz(25)- Monad: Monad Transformer-叠加Monad效果
  6. P1003 铺地毯(模拟)
  7. zuul转发的一些常见异常
  8. Delphi iOS 开启文件共享 UIFileSharingEnabled
  9. Windows 运行... 可执行的命令
  10. ping端口怎么ping_英雄联盟手游ping信号怎么发送 ping信号发送方法介绍_游戏攻略...
  11. 【Kettle】Kitchen和Pan的命令行参数
  12. 两边双虚线是什么意思_锯齿车道、倒三角标志什么意思?以下5种交通标线你认识几个?...
  13. 有谁做过在C# winform里,显示3D max文件的呢?请赐教了。
  14. SSL 1203 书的复制
  15. 内部收益率计算公式用计算机,内部收益率计算器
  16. 不同计算机打印机共享,不同系统之间设置打印机共享
  17. onenote同步速度慢
  18. sys.path介绍
  19. python脚本之对文件进行哈希校验
  20. 常用的十种数据分析方法

热门文章

  1. 两个listmap合并去重_我是如何用单机实现亿级规模题库去重的?
  2. 放个手机在单位自动打卡_1秒识别打卡,无感知考勤系统重磅来袭!
  3. python leetcode_LeetCode刷题——第8天(python)
  4. html5场景编辑工具,3款容易上手的HTML5编辑工具推荐~
  5. mysql 普通索引使用方法,Mysql索引类型与基本用法实例分析
  6. 【NLP实战】基于ALBERT的文本相似度计算
  7. 全球及中国健康保险市场运作模式与需求潜力预测报告2022版
  8. 中国储能电池行业经济效益评价与投资战略规划展望报告2022-2028年版
  9. 全球及中国回流冷凝管行业发展前景整体预测及十四五发展趋向展望报告2022-2027年版
  10. 必背单词_研究生满大街走?真实数据来啦 真题必背单词Day10