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

js getBoundingClientRect() 來獲取頁面元素的位置

 更新時間:2010年11月25日 22:08:11   作者:  
該方法已經(jīng)不再是IE Only了,F(xiàn)F3.0+和Opera9.5+已經(jīng)支持了該方法,可以說在獲得頁面元素位置上效率能有很大的提高,在以前版本的Opera和Firefox中必須通過循環(huán)來獲得元素在頁面中的絕對位置。
document.documentElement.getBoundingClientRect

下面這是MSDN的解釋:

Syntax

oRect = object.getBoundingClientRect()

Return Value

Returns a TextRectangle object. Each rectangle has four integer properties (top, left, right, and bottom) that represent a coordinate of the rectangle, in pixels.

Remarks

This method retrieves an object that exposes the left, top, right, and bottom coordinates of the union of rectangles relative to the client's upper-left corner. In Microsoft Internet Explorer 5, the window's upper-left is at 2,2 (pixels) with respect to the true client.


 

還是實際解釋下,該方法獲得頁面中某個元素的左,上,右和下分別相對瀏覽器視窗的位置。也不好理解,下面用圖說明下。

該方法已經(jīng)不再是IE Only了,F(xiàn)F3.0+和Opera9.5+已經(jīng)支持了該方法,可以說在獲得頁面元素位置上效率能有很大的提高,在以前版本的Opera和Firefox中必須通過循環(huán)來獲得元素在頁面中的絕對位置。

 

 

 

下面的代碼舉了個簡單的例子,可以滾動滾動條之后點紅色區(qū)域看各個值的變化。

復(fù)制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Demo</title>
</head>

<body style="width:2000px; height:1000px;">
<div id="demo" style="position:absolute; left:518px; right:100px; width:500px; height:500px; background:#CC0000; top: 114px;">Demo為了方便就直接用絕對定位的元素</div>
</body>
</html>
<script>
document.getElementById('demo').onclick=function (){
if (document.documentElement.getBoundingClientRect) {
alert("left:"+this.getBoundingClientRect().left)
alert("top:"+this.getBoundingClientRect().top)
alert("right:"+this.getBoundingClientRect().right)
alert("bottom:"+this.getBoundingClientRect().bottom)
var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;
var Y = this.getBoundingClientRect().top+document.documentElement.scrollTop;
alert("Demo的位置是X:"+X+";Y:"+Y)
}
}
</script>

有了這個方法,獲取頁面元素的位置就簡單多了,

var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;
var Y =this.getBoundingClientRect().top+document.documentElement.scrollTop;

相關(guān)文章

  • 解決function函數(shù)內(nèi)的循環(huán)變量

    解決function函數(shù)內(nèi)的循環(huán)變量

    鼠標(biāo)放到指定的行上自動彈出當(dāng)前的個數(shù),從0開始,這個功能方便我們在tab切換中定位
    2008-10-10
  • 老生常談 js中this的指向

    老生常談 js中this的指向

    下面小編就為大家?guī)硪黄仙U?js中this的指向。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 使用js畫圖之圓、弧、扇形

    使用js畫圖之圓、弧、扇形

    這篇文章主要介紹了使用js繪制幾何圖形教程,本文主要是教大家繪制圓、弧、扇形,需要的朋友可以參考下
    2015-01-01
  • js導(dǎo)出txt示例代碼

    js導(dǎo)出txt示例代碼

    很多新手朋友們都不知道js怎么導(dǎo)出txt,下面有個不錯的示例,大家可以參考下
    2014-01-01
  • js實現(xiàn)對table的增加行和刪除行的操作方法

    js實現(xiàn)對table的增加行和刪除行的操作方法

    下面小編就為大家?guī)硪黄猨s實現(xiàn)對table的增加行和刪除行的操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • js實現(xiàn)帶緩動動畫的導(dǎo)航欄效果

    js實現(xiàn)帶緩動動畫的導(dǎo)航欄效果

    本篇文章主要分享了js實現(xiàn)帶緩動動畫的導(dǎo)航欄效果的示例代碼。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 詳解uniapp分包的實現(xiàn)方式及優(yōu)點

    詳解uniapp分包的實現(xiàn)方式及優(yōu)點

    當(dāng)今移動應(yīng)用開發(fā)領(lǐng)域,隨著用戶對于應(yīng)用功能和體驗的要求不斷提高,應(yīng)用程序的復(fù)雜度也在不斷增加,在這種情況下,應(yīng)用程序的體積也隨之增大,為了解決這個問題,Uniapp提供了分包功能,本文將詳細(xì)介紹Uniapp分包的功能和優(yōu)勢,包括如何通過配置文件實現(xiàn)分包
    2023-09-09
  • js中遍歷對象的屬性和值的方法

    js中遍歷對象的屬性和值的方法

    下面小編就為大家?guī)硪黄猨s中遍歷對象的屬性和值的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • javascript獲取隱藏元素(display:none)的高度和寬度的方法

    javascript獲取隱藏元素(display:none)的高度和寬度的方法

    這篇文章主要介紹了javascript獲取隱藏元素(display:none)的高度和寬度的方法,實現(xiàn)方法比較復(fù)雜,需要的朋友可以參考下
    2014-06-06
  • 詳解RequireJs官方使用教程

    詳解RequireJs官方使用教程

    RequireJS以一個相對于baseUrl的地址來加載所有的代碼。接下來通過本文給大家分享RequireJs官方使用教程,感興趣的朋友一起看看吧
    2017-10-10

最新評論

咸阳市| 夏河县| 汝城县| 靖江市| 天台县| 焉耆| 轮台县| 峨眉山市| 汝州市| 遂溪县| 马鞍山市| 叙永县| 昌吉市| 彰化县| 慈溪市| 寻乌县| 石首市| 华阴市| 文安县| 鲁甸县| 长顺县| 城口县| 缙云县| 云林县| 大关县| 张掖市| 喜德县| 新津县| 股票| 扶绥县| 安泽县| 祁东县| 额济纳旗| 光山县| 富顺县| 邳州市| 洪洞县| 吉木乃县| 武安市| 东丽区| 兖州市|