jQuery Position方法使用和兼容性
1、position方法
jquery api地址:http://jquery.cuishifeng.cn/position.html
position方法獲取匹配元素相對父元素的偏移。
2、說明
2.1 與offset()區(qū)別
.offset()是獲得該元素相對于documet的當前坐標
.position()方法可以取得元素相對于父元素的偏移位置,父元素為該元素最近的而且被定位過的祖先元素。
2.2 值計算
.元素本身所占用的邊框,邊距和填充的大小不計。
.父元素的邊框和邊距不計,父元素的填充計算在內(nèi)。
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不計算在內(nèi)*/ margin-top: 10px; /*父元素的border不計算在內(nèi)*/ border: 1px solid green; /*父元素的padding計算在內(nèi)*/ padding-top: 10px; } .child-1 { width: 100px; height: 100px; margin: 0 auto; border: 1px solid #2E8DED; } .child-2 { width: 100px; height: 100px; /*子元素的margin不計算在內(nèi)*/ margin: 10px auto 0; /*子元素的border不計算在內(nèi)*/ border: 1px solid #2E8DED; /*子元素的padding不計算在內(nèi)*/ 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等屬性。
示例代碼為沒有設(shè)置line-height
的例子,position()在不同的瀏覽器上計算出的值不一樣。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>jQuery position()示例</title> <style> html { /*必須給予一致的設(shè)置,否則position()計算值不同*/ /*line-height: 1.15;*/ } /*父元素--相對定位*/ .parent { position: relative; width: 200px; height: 400px; /*父元素的margin不計算在內(nèi)*/ margin-top: 10px; /*父元素的border不計算在內(nèi)*/ border: 1px solid green; /*父元素的padding計算在內(nèi)*/ padding-top: 10px; } .child-1 { width: 100px; height: 100px; margin: 0 auto; border: 1px solid #2E8DED; } .child-2 { width: 100px; height: 100px; /*子元素的margin不計算在內(nèi)*/ margin: 10px auto 0; /*子元素的border不計算在內(nèi)*/ border: 1px solid #2E8DED; /*子元素的padding不計算在內(nèi)*/ 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>
總結(jié)
以上所述是小編給大家介紹的jQuery Position方法使用和兼容性,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
jQuery mobile在頁面加載時添加加載中效果 document.ready 和window.onload執(zhí)行順序
這篇文章主要介紹了jQuery mobile在頁面加載時添加加載中效果 document.ready 和window.onload執(zhí)行順序比較,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07解決Jquery下拉框數(shù)據(jù)動態(tài)獲取的問題
下面小編就為大家分享一篇解決Jquery下拉框數(shù)據(jù)動態(tài)獲取的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01鋒利的jQuery 要點歸納(三) jQuery中的事件和動畫(上:事件篇)
鋒利的jQuery 要點歸納 jQuery中的事件和動畫(上:事件篇)2010-03-03