当前位置: 首页 > news >正文

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-3 getBoundingClientRect()

代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>getBoundingClientRect()</title>
</head>
<script>function getRect(){var obj = document.getElementById('example');  //获取元素对象var objRect = obj.getBoundingClientRect(0);  //获取按钮位置// 当调用该方法时弹出元素的信息(上、右、下和左边界分别相对浏览器视图的位置)alert('top:'+objRect.top+',right:'+objRect.right+',bottom:'+objRect.bottom+',left:'+objRect.left);}
</script><body>
<div style="text-align: center;"><button id="example" onmousemove="getRect()">返回本按钮距离浏览器左上角的值</button>
</div>
</body>
</html>

上述代码中:
第18行代码是给< button >标签绑定onmousemove事件的getRect()函数,并在第8~13行代码中定义了getRect(0函数来获取鼠标移上按钮时,按钮与浏览器左上角之间的距离值。

运行效果

在这里插入图片描述
当鼠标悬停在按钮上时,弹出框显示具体的值。
在这里插入图片描述
使用getBoundingClientRect()方法可以获得DOM元素到浏览器可视范围的距离,用于获得页面中某个元素的左、上、右和下边界分别相对浏览器视图的位置,或者可以理解为获取一个Element元素的坐标。
getBoundingClientRect()方法返回一个Object对象,该对象有6个属性:top、left、right、bottom、width、height。其中,width和height是元素自身的宽和高;top、left、right、bottom的大小都是相对于文档视图的左上角来计算的。

相关文章:

  • 【基础算法练习】单调队列与单调栈模板
  • LabVIEW扫频阻抗测试系统
  • 回归预测 | MATLAB实现PSO-GRNN粒子群优化广义回归神经网络多输入单输出预测(含优化前后预测可视化)
  • vue 跨域XMLHttpRequest
  • 如何使用 WebRTC 与 Kurento 建立视频会议 App
  • 如何成为一个更好的沟通者?
  • 粒子群优化算法(Particle Swarm Optimization,PSO)求解基于移动边缘计算的任务卸载与资源调度优化(提供MATLAB代码)
  • navicat连接postgresql、人大金仓等数据库报错
  • 带libc源码gdb动态调试(导入glibc库使得可执行文件动态调试时可看见调用库函数源码)
  • 【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word等office文件
  • [MQ]常用的mq产品图形管理web界面或客户端
  • MySQL数据导入:MySQL 导入 Excel 文件.md
  • vue预览pdf文件的几种方法
  • 77.Go中interface{}判nil的正确姿势
  • Windows 10/11系统自带“录屏”功能的快捷键无效的解决之道
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【css3】浏览器内核及其兼容性
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • axios 和 cookie 的那些事
  • CAP 一致性协议及应用解析
  • Docker下部署自己的LNMP工作环境
  • input的行数自动增减
  • mac修复ab及siege安装
  • nginx 负载服务器优化
  • PHP面试之三:MySQL数据库
  • php中curl和soap方式请求服务超时问题
  • Python学习笔记 字符串拼接
  • vue学习系列(二)vue-cli
  • vue中实现单选
  • Webpack入门之遇到的那些坑,系列示例Demo
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 机器学习 vs. 深度学习
  • 使用 @font-face
  • 突破自己的技术思维
  • 在Unity中实现一个简单的消息管理器
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​【已解决】npm install​卡主不动的情况
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #NOIP 2014# day.1 T2 联合权值
  • #vue3 实现前端下载excel文件模板功能
  • $refs 、$nextTic、动态组件、name的使用
  • (06)金属布线——为半导体注入生命的连接
  • (2015)JS ES6 必知的十个 特性
  • (分布式缓存)Redis哨兵
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (七)Knockout 创建自定义绑定
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)原始图像数据和PDF中的图像数据
  • .axf 转化 .bin文件 的方法
  • .net core 6 redis操作类
  • .net操作Excel出错解决
  • .Net各种迷惑命名解释
  • ::