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.ajax向后台传递数组问题的解决方法
May 12 jQuery
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
JavaScript实现离开页面前提示功能【附jQuery实现方法】
Sep 26 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
jquery应用实例分享_实现手风琴特效
Feb 01 jQuery
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
jQuery事件委托代码实践详解
Jun 21 jQuery
JQuery省市联动效果实现过程详解
May 08 jQuery
jQuery实现异步上传一个或多个文件
Aug 17 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
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
jQuery 一个图片切换的插件
2011/10/09 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
简单分析python的类变量、实例变量
2019/08/23 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
《莫高窟》教学反思
2014/02/25 职场文书
党建示范点实施方案
2014/03/12 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
欢迎标语大全
2014/06/21 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android
图神经网络GNN算法
2022/05/11 Python
springboot实现string转json json里面带数组
2022/06/16 Java/Android