jQuery Position方法使用和兼容性


Posted in jQuery onAugust 23, 2017

1、position方法

jquery api地址:http://jquery.cuishifeng.cn/position.html

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方法使用和兼容性,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
Jquery获取radio选中的值
May 05 jQuery
jQuery实现的弹幕效果完整实例
Sep 06 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
简单实现jquery隔行变色
Nov 09 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
jQuery实现视频展示效果
May 30 jQuery
jQuery实时统计输入框字数及限制
Jun 24 jQuery
jQuery实现带进度条的轮播图
Sep 13 jQuery
jquery实现抽奖功能
Oct 22 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
基于jQuery实现的单行公告活动轮播效果
Aug 23 #jQuery
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 #jQuery
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 #jQuery
简单实现jQuery上传图片显示预览功能
Jun 29 #jQuery
关于JS与jQuery中的文档加载问题
Aug 22 #jQuery
jQuery插件DataTables分页开发心得体会
Aug 22 #jQuery
jQuery实现广告条滚动效果
Aug 22 #jQuery
You might like
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
php从字符串创建函数的方法
2015/03/16 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
[01:03:27]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python小白学习爬虫常用请求报头
2020/06/03 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
毕业生求职简历的自我评价
2013/10/07 职场文书
八年级数学教学反思
2014/01/31 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
创先争优宣传标语
2014/10/08 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
利用python做表格数据处理
2021/04/13 Python
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis