最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單談?wù)刼ffsetleft、offsetTop和offsetParent

 更新時(shí)間:2020年12月04日 10:23:33   作者:expworld  
這篇文章主要給大家介紹了offsetleft、offsetTop和offsetParent的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

ele.offsetParent返回的是ele元素最近的并且是定位過(relative,absolute)的父元素,如果沒有父元素或者是父元素中沒有一個(gè)是定位過的,返回值就是body元素

ele.offsetLeft和ele.offsetTop取值問題,分多種情況:

  • 如果ele是body的直接子元素,返回值則是ele距離body左側(cè)或頂部的距離
  • 如果ele不是body的直接子元素,在父元素進(jìn)行定位(relative,absolute)的情況下,各瀏覽器返回值都是ele距離父元素左側(cè)或者是
    頂部的距離(唯一的區(qū)別就是chrome沒有把邊框計(jì)算進(jìn)去,IE,firefox都計(jì)算進(jìn)去了)
  • 如果ele不是body的直接子元素,父元素也沒有進(jìn)行定位的情況下,各瀏覽器返回的直接是ele元素距body的距離

從上面可以看出offsetLeft、offsetTop返回的值就是ele到offsetParent的距離,這個(gè)offsetParent是什么元素要看ele的父元素有沒有進(jìn)行定位(relative、absolute)

應(yīng)用:

在要獲取元素距離網(wǎng)頁左側(cè)距離的時(shí)候就要考慮offsetParent的定位問題,不能簡單的用ele.offsetLeft/Top獲取,必須通過循環(huán)累加的方式才能獲得正確值(chrome的結(jié)果和IE、Firefox不一樣,相差1px,原因是chrome沒有把邊框計(jì)算進(jìn)去),下面是代碼

(Tips:代碼中的this.left、this.top可以用arguments.callee代替,但根據(jù)ECMAScript 5規(guī)范不建議使用,strict model下已經(jīng)被禁用,因?yàn)閍rguments是一個(gè)比較龐大的對(duì)象,非常耗資源)

var getOffset = {
 left:function(obj){
  return obj.offsetLeft + (obj.offsetParent ? this.left(obj.offsetParent) : 0);
 },
 top:function(){
  return obj.offsetTop + (obj.offsetParent ? this.top(obj.offsetParent) : 0);
 }
}

到此這篇關(guān)于offsetleft、offsetTop和offsetParent的文章就介紹到這了,更多相關(guān)offsetleft、offsetTop和offsetParent內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

贵定县| 昌都县| 鹤山市| 东台市| 凯里市| 汕尾市| 乌鲁木齐市| 绥江县| 类乌齐县| 綦江县| 郧西县| 东辽县| 安陆市| 苍南县| 游戏| 阆中市| 保德县| 瑞昌市| 元氏县| 阜阳市| 阿克苏市| 仁寿县| 成都市| 肃北| 英超| 淮北市| 海宁市| 河曲县| 南陵县| 金山区| 黔西县| 西安市| 务川| 响水县| 股票| 嘉祥县| 新化县| 天津市| 荔波县| 抚远县| 甘洛县|