怎样制作小程序_jQuery Position方法使用和兼容性

2021-01-11 15:01

jQuery Position方法使用和兼容性     ,脚踏实地 学以致用   position方法获取匹配元素相对父元素的偏移。接下来通过本文给大家分享jQuery Position方法使用和兼容性的相关知识,感兴趣的朋友一起看看吧

1、position方法

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 
 first child
 p id="no-2" 
 second child
 /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 
 文字文字
 first child
 p id="no-2" 
 second child
 /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方法使用和兼容性,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对凡科网站的支持!




扫描二维码分享到微信

在线咨询
联系电话

020-66889888