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上传图片显示预览功能
Jun 29 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
jQuery基于Ajax实现读取XML数据功能示例
May 31 jQuery
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
jquery获取img的src值实例介绍
Jan 16 jQuery
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
Jun 18 jQuery
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
Apr 01 jQuery
jquery检测上传文件大小示例
Apr 26 jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 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
PHP5/ZendEngine2的改进
2006/10/09 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
短信提示使用 特效
2007/01/19 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
JS跨域总结
2012/08/30 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
思想品德自我评价
2014/02/04 职场文书
安全教育演讲稿
2014/05/09 职场文书
应届生面试求职信
2014/07/02 职场文书
社区清明节活动总结
2014/07/04 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
2014年材料员工作总结
2014/11/19 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书