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输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
详解jquery选择器的原理
Aug 01 jQuery
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
JQuery animate动画应用示例
May 14 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
jquery实现的放大镜效果示例
Feb 24 jQuery
基于JQuery和DWR实现异步数据传递
Oct 16 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字符串截取问题
2006/11/28 PHP
php过滤危险html代码
2008/08/18 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
让python 3支持mysqldb的解决方法
2017/02/14 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
java关于string最常出现的面试题整理
2021/01/18 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
计算机专业推荐信范文
2013/11/20 职场文书
小学数学课后反思
2014/04/23 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
师德演讲稿范文
2014/05/06 职场文书
大专生找工作自荐书
2014/06/10 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
2014年化验员工作总结
2014/11/18 职场文书
工程部经理岗位职责
2015/02/02 职场文书
django上传文件的三种方式
2021/04/29 Python