jQuery 获取元素位置 offset() 和 position()

2024-09-05 02:48

本文主要是介绍jQuery 获取元素位置 offset() 和 position(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本篇文件向大家介绍的方法是 offset() 和 position() ,这两个方法有什么关系?下面的内容做详细介绍。

offset()功能描述:在匹配的元素集合中,获取的第一个元素的当前坐标,坐标相对于文档。

position() 功能描述:获取匹配元素中第一个元素的当前坐标,相对于offset parent的坐标。( 注:offset parent指离该元素最近的而且被定位过的祖先元素 ) 。

这两个方法的功能都是获取元素的坐标。相信大家使用的一般都是 offset() 方法而几乎不知道  position() 方法,因为网上所得到的答案几乎都是千篇一律的 offset() 方法。

既然功能一样,却又存在两个方法,那么他们肯定有不同。我们经常需要计算一个元素的相对坐标。通过当前元素与参照元素计算后得知。大jQuery为了方便开发者,专门提供了 position() 方法来解决这个问题。请看下面的代码

/* CSS */
#div1{position: relative;margin: 100px auto;width: 300px;height: 300px;border: #e5e5e5 solid 1px;
}
#div2{position: absolute;width: 50px;height: 30px;background-color: #e5e5e5;left: 123px;top: 66px;margin: 22px 0 0 45px;
}
<!-- html -->
<div id="div1"><div id="div2"></div>
</div>
/* js */
console.log($("#div2").offset());
//  {top: 189, left: 273}
console.log($("#div2").position());
//  {top: 66, left: 123}

通过上面的代码得知,position() 非常方便的帮助我们计算了 #div2 元素 相对于 #div1 的坐标。这是一个好方法,但是它也有要求。那就是它所参照的父元素一定要是 position: relative 的元素。

大家可以从看完这篇文章开始,合理的使用 position() 方法吧,很方便有木有。

如果你阅读这篇文章后,有一丢丢的小疑惑,建议你去巩固CSS盒子模型知识。写好一手布局,才能写好一手脚本。

作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com

微信公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。

更多精彩文章,请扫下方二维码关注我的公众号

这篇关于jQuery 获取元素位置 offset() 和 position()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137759

相关文章

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解