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

js中getBoundingClientRect的作用及兼容方案詳解

 更新時間:2018年02月01日 14:50:52   作者:limeiky  
這篇文章主要介紹了js中getBoundingClientRect的作用及兼容方案詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、getBoundingClientRect的作用

getBoundingClientRect用于獲取某個html元素相對于視窗的位置集合。

執(zhí)行 object.getBoundingClientRect();會得到元素的top、right、bottom、left、width、height屬性,這些屬性以一個對象的方式返回。

getBoundingClientRect()

這個方法返回一個矩形對象,包含四個屬性:left、top、right和bottom。分別表示元素各邊與頁面上邊和左邊的距離。

var box=document.getElementById('box'); // 獲取元素

alert(box.getBoundingClientRect().top); // 元素上邊距離頁面上邊的距離

alert(box.getBoundingClientRect().right); // 元素右邊距離頁面左邊的距離

alert(box.getBoundingClientRect().bottom); // 元素下邊距離頁面上邊的距離

alert(box.getBoundingClientRect().left); // 元素左邊距離頁面左邊的距離

2.getBoundingClientRect上下左右屬性值解釋

主要是left和bottom要解釋一下,left是指右邊到頁面最左邊的距離,bottom是指底邊到頁面頂邊的距離。

看圖:

 

3. 瀏覽器兼容性

ie5以上都能支持,但是又一點點地方需要修正一下,

IE67的left、top會少2px,并且沒有width、height屬性。

4、利用getBoundingClientRect來寫一個獲取html元素相對于視窗的位置集合的方法

<div id="test" style="width: 100px; height: 100px; background: #ddd;"></div>
<script>
 function getObjXy(obj){
  var xy = obj.getBoundingClientRect();
  var top = xy.top-document.documentElement.clientTop+document.documentElement.scrollTop,//document.documentElement.clientTop 在IE67中始終為2,其他高級點的瀏覽器為0
   bottom = xy.bottom,
   left = xy.left-document.documentElement.clientLeft+document.documentElement.scrollLeft,//document.documentElement.clientLeft 在IE67中始終為2,其他高級點的瀏覽器為0
   right = xy.right,
   width = xy.width||right - left, //IE67不存在width 使用right - left獲得
   height = xy.height||bottom - top;

  return {
   top:top,
   right:right,
   bottom:bottom,
   left:left,
   width:width,
   height:height
  }
 }

 var test = getObjXy(document.getElementById('test'));
 alert("top:" + test.top + ", right:" + test.right + ", bottom:" + test.bottom + ", left:" + test.left);
</script>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Cropper.js進階之固定寬高圖片裁切實現(xiàn)示例

    Cropper.js進階之固定寬高圖片裁切實現(xiàn)示例

    這篇文章主要為大家介紹了Cropper.js進階之固定寬高圖片裁切實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • easyui給某一個單元格的內容增加下劃線的操作方法

    easyui給某一個單元格的內容增加下劃線的操作方法

    在EasyUI的DataGrid組件中,你可以通過自定義單元格的渲染方式來實現(xiàn)給某一個單元格的內容增加下劃線的效果,本文給大家介紹easyui如何給某一個單元格的內容增加下劃線,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 一個可拖拽列寬表格實例演示

    一個可拖拽列寬表格實例演示

    本文將詳細介紹一個可拖拽列寬表格實例,需要了解更多的朋友可以參考下
    2012-11-11
  • checkbox勾選判斷代碼分析

    checkbox勾選判斷代碼分析

    我們在做項目的時候,特別是注冊用戶的時候,基本上都需要有注冊協(xié)議之類的東西,那么我們如何判斷用戶是否勾選了同意了此協(xié)議呢?
    2014-06-06
  • js尾調用優(yōu)化的實現(xiàn)

    js尾調用優(yōu)化的實現(xiàn)

    這篇文章主要介紹了js尾調用優(yōu)化的實現(xiàn),尾調用(Tail Call)是函數(shù)式編程的一個重要概念,本文介紹它的含義和用法。感興趣的可以了解一下
    2019-05-05
  • js定義對象或數(shù)組直接量時各瀏覽器對多余逗號的處理(json)

    js定義對象或數(shù)組直接量時各瀏覽器對多余逗號的處理(json)

    定義對象或數(shù)組直接量時不同瀏覽器引擎對多余逗號的處理,js報錯分為兩種:語法錯誤和運行錯誤。
    2011-03-03
  • JS實現(xiàn)拖動滾動條評分的效果代碼分享

    JS實現(xiàn)拖動滾動條評分的效果代碼分享

    本文給大家基于js實現(xiàn)拖動滾動條評分效果,在項目開發(fā)中經??梢杂玫降?,大家可以更加需要適當?shù)奶砑有薷?,對js評分效果感興趣的朋友一起看看吧
    2016-09-09
  • 詳解javascript中的Error對象

    詳解javascript中的Error對象

    error是指程序中的非正常運行狀態(tài),在其他編程語言中稱為“異?!被颉板e誤”,解釋器會為每個錯誤情形創(chuàng)建并拋出一個Error對象,其中包含錯誤的描述信息,這篇文章主要介紹了javascript中的Error對象,需要的朋友可以參考下
    2019-04-04
  • 學習Javascript閉包(Closure)知識

    學習Javascript閉包(Closure)知識

    這篇文章主要介紹了學習Javascript閉包(Closure)知識的相關資料,需要的朋友可以參考下
    2016-08-08
  • js前端處理跨域的九種方式

    js前端處理跨域的九種方式

    本文主要介紹了js前端處理跨域的九種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07

最新評論

托克逊县| 兴仁县| 台安县| 广饶县| 柳江县| 伊金霍洛旗| 云安县| 闽清县| 新余市| 左云县| 巨鹿县| 资源县| 黑河市| 定襄县| 正宁县| 南阳市| 共和县| 扶风县| 拉孜县| 竹溪县| 简阳市| 重庆市| 通江县| 洛南县| 克什克腾旗| 石门县| 潞西市| 承德县| 卓资县| 临西县| 潍坊市| 精河县| 遂川县| 阿合奇县| 彰武县| 濮阳县| 武强县| 全南县| 周口市| 兴国县| 尚志市|