jQuery Position方法使用和兼容性
程序员文章站
2022-09-08 20:34:50
1、position方法
jquery api地址:
position方法获取匹配元素相对父元素的偏移。
2、说明
2.1 与offset()区别
.offset...
1、position方法
jquery api地址:
position方法获取匹配元素相对父元素的偏移。
2、说明
2.1 与offset()区别
.offset()是获得该元素相对于documet的当前坐标
.position()方法可以取得元素相对于父元素的偏移位置,父元素为该元素最近的而且被定位过的祖先元素。
2.2 值计算
.元素本身所占用的边框,边距和填充的大小不计。
.父元素的边框和边距不计,父元素的填充计算在内。
3、示例代码
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>jquery position()示例</title> <style> html { line-height: 1.15; } /*父元素--相对定位*/ .parent { position: relative; width: 200px; height: 400px; /*父元素的margin不计算在内*/ margin-top: 10px; /*父元素的border不计算在内*/ border: 1px solid green; /*父元素的padding计算在内*/ padding-top: 10px; } .child-1 { width: 100px; height: 100px; margin: 0 auto; border: 1px solid #2e8ded; } .child-2 { width: 100px; height: 100px; /*子元素的margin不计算在内*/ margin: 10px auto 0; /*子元素的border不计算在内*/ border: 1px solid #2e8ded; /*子元素的padding不计算在内*/ padding: 10px; } </style> </head> <body> <div class="parent"> <p class="child-1"> first child </p> <p class="child-2" id="no-2"> second child </p> </div> <script src=".output/js/jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> $(document).ready(function() { //获取child-2子元素距离父元素的距离 console.log($('#no-2').position().top); }); </script> </body> </html>
4、注意
对于文字的line-height等属性,浏览器(chrome、ie、firefox)默认大小不一致,因此不同的浏览器position()在计算尺寸时会存在不一致,因此必须保证所有浏览器一致的line-height等属性。
示例代码为没有设置line-height
的例子,position()在不同的浏览器上计算出的值不一样。
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>jquery position()示例</title> <style> html { /*必须给予一致的设置,否则position()计算值不同*/ /*line-height: 1.15;*/ } /*父元素--相对定位*/ .parent { position: relative; width: 200px; height: 400px; /*父元素的margin不计算在内*/ margin-top: 10px; /*父元素的border不计算在内*/ border: 1px solid green; /*父元素的padding计算在内*/ padding-top: 10px; } .child-1 { width: 100px; height: 100px; margin: 0 auto; border: 1px solid #2e8ded; } .child-2 { width: 100px; height: 100px; /*子元素的margin不计算在内*/ margin: 10px auto 0; /*子元素的border不计算在内*/ border: 1px solid #2e8ded; /*子元素的padding不计算在内*/ padding: 10px; } </style> </head> <body> <div class="parent"> 文字文字 <p class="child-1"> first child </p> <p class="child-2" id="no-2"> second child </p> </div> <script src=".output/js/jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> $(document).ready(function() { //获取child-2子元素距离父元素的距离 console.log($('#no-2').position().top); }); </script> </body> </html>
总结
以上所述是小编给大家介绍的jquery position方法使用和兼容性,希望对大家有所帮助
上一篇: 前端跨域的几种解决方式总结(推荐)
下一篇: vue中appear的用法
推荐阅读
-
使用Python操作FTP实现上传和下载的方法
-
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
-
Python random模块(获取随机数)常用方法和使用例子
-
jQuery插件jqGrid动态获取列和列字段的方法
-
php中使用key,value,current,next和prev函数遍历数组的方法
-
使用js dom和jquery分别实现简单增删改
-
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
-
jQuery使用方法
-
Python中条件选择和循环语句使用方法介绍
-
LNMP下FTP服务器的安装与使用方法(Pureftpd和Proftpd)