jQuery中position用法

position() 方法返回匹配元素相對于父元素的位置(偏移)。
所謂"被定位的元素",就是元素的CSS position屬性值為absolute、relative或fixed(只要不是默認(rèn)的static即可)。
該方法返回的對象包含兩個整型屬性:top 和 left,以像素計。
此方法只對可見元素有效。
必須在他本身設(shè)置left與top值,該物體還必須顯示不可以隱藏,必須要有定位。
與offset()不同的是:position()返回的是相對于被定位的祖輩元素的坐標(biāo),offset()返回的是相對于當(dāng)前文檔的坐標(biāo)。此外,position()函數(shù)無法用于設(shè)置操作。如果當(dāng)前元素的祖輩元素全部都是默認(rèn)定位(static),那么該函數(shù)返回的偏移位置與offset()函數(shù)相同。
h2的祖輩元素全部為默認(rèn)定位,則position()返回的偏移位置和offset()函數(shù)一致。
html代碼

<div><h1>zz</h1></div>
    <p>hh</p>
    <h2>ssss</h2>

css代碼

*{
        margin:0;
        padding:0;
    }
    div{
        width:100px;
        height:100px;
        background:red;
        margin:500px auto;
        position:absolute;
        left:20px;
        top:20px;
    }
    p{
        display:none;
        position:relative;
        left:50px;
        top:50px;
    }
    h1{
        position:relative;
        left:10px;
        top:10px; 
    }
    h2{
        left:50px;
        top:100px;
    }

js代碼

    var a=$("div").position();
       var a1= $("div").offset();
       console.log(a.left);//20
       console.log(a.top);//20
       console.log(a1.left);//441
       console.log(a1.top);//520
       //隱藏時無論position還是offset都無法獲取到left、top值
       var b=$("p").position();
       var b1=$("p").offset(); 
       console.log(b.left);//0
       console.log(b.top);//0
       console.log(b1.left);//0
       console.log(b1.top);//0
       var c=$("h1").position();
       var c1=$("h1").offset();
       console.log(c.left);//10
       console.log(c.top);//10
       console.log(c1.left);//451
       console.log(c1.top);//530
       //祖輩元素全部為默認(rèn)定位,則position()返回的偏移位置和offset()函數(shù)一致。
       var d=$("h2").position();
       var d1=$("h2").offset();
       console.log(d.left);//0
       console.log(d.top);//1100
       console.log(d1.left);//0
       console.log(d1.top);//1100
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,180評論 1 92
  • position()方法的定義和用法: position()函數(shù)用于返回當(dāng)前匹配元素相對于其被定位的祖輩元素的偏移...
    是葉閱讀 748評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評論 19 139
  • jQuery庫中操作頁面元素的CSS樣式有一個position()函數(shù)。position()函數(shù)用于返回當(dāng)前匹配元...
    飛一般的八哥閱讀 315評論 0 0
  • 1. 現(xiàn)在每天晚上沒有應(yīng)酬,沒有特殊任務(wù),我都會在房間里看書,從7點(diǎn)到10點(diǎn)。有時聽聽音樂,有了靈感就寫作,沒有靈...

友情鏈接更多精彩內(nèi)容