這段代碼會向上查找offsetParent,然后添加offsetTop和offsetLeft。最終無論offsetParent在 " /> 亚洲久久在线,亚洲一级毛片,色黄网站

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

JavaScript CSS修改學(xué)習(xí)第一章 查找位置

offset
在所有的瀏覽器里面元素的offsetTop和offsetLeft兩個屬性都是很有用的。他們會給出你元素相對于父元素的坐標(biāo)位置。

這段代碼會向上查找offsetParent,然后添加offsetTop和offsetLeft。最終無論offsetParent在哪,他都會給出你元素在屏幕上的真正坐標(biāo)。

解釋
這段代碼非常簡單。先傳入要計算的元素,然后設(shè)置變量curleft和curtop為0。

復(fù)制代碼 代碼如下: function findPos(obj) {
var curleft = curtop = 0;

如果瀏覽器支持offsetParent:

復(fù)制代碼 代碼如下: if (obj.offsetParent) {

每次我們找到一個新的對象的時候,把他的offsetTop和offsetLeft加到curtop和curleft上:

復(fù)制代碼 代碼如下: do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;

小技巧:返回'='的值
下面就是這個技巧:

復(fù)制代碼 代碼如下: } while (obj = obj.offsetParent);
這個不是表達式錯誤。我不想用'=='來比較obj和obj.offsetParent(那也沒有用,因為一個元素肯定和他的父元素不相等)。

所以我用'='來把obj.offsetParent的值傳遞給obj。在這里我對這個技巧有詳細的解釋。

簡單的返回
這個循環(huán)會當(dāng)元素沒有了offsetParent的時候結(jié)束。當(dāng)offsetParent存在的時候,就依然會把offsetLeft加到curleft上,把offsetTop加到curtop上。

當(dāng)循環(huán)技術(shù)的時候,我們就把坐標(biāo)返回給調(diào)用這個函數(shù)的程序。

復(fù)制代碼 代碼如下: return [curleft,curtop];}


翻譯地址:http://www.quirksmode.org/js/findpos.html

轉(zhuǎn)載請保留以下信息
作者:北玉(tw:@rehawk)

JavaScript技術(shù)JavaScript CSS修改學(xué)習(xí)第一章 查找位置,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩欧美福利视频 | av久久| 三级av在线| 亚洲国产精品成人无久久精品 | 99爱免费 | 亚洲国产成人久久综合一区,久久久国产99 | 国产一区二区视频在线 | 成人在线一区二区 | 精品久久成人 | 国产在线精品一区二区三区 | 99久久久国产精品 | 精品欧美黑人一区二区三区 | 中国三级黄色录像 | 久久久久无码国产精品一区 | 欧美一区二区在线观看 | 国产性网| av一区在线观看 | 午夜免费av| 91av视频在线观看 | 91国在线高清视频 | 欧美二三区 | 精品影视| 精品一区国产 | 亚洲精品免费观看 | 国产成人免费网站 | 一级黄色生活视频 | 日韩国产欧美一区 | 欧美在线视频一区二区 | eeuss国产一区二区三区四区 | 国产欧美在线观看 | 久久精品久久综合 | 免费视频一区二区 | 欧美中文字幕一区二区 | 欧美中文字幕一区二区三区亚洲 | 亚洲一区中文字幕在线观看 | 中文字幕亚洲在线 | 国产亚洲精品久久久久动 | 国产激情视频在线 | 成人欧美一区二区三区黑人孕妇 | 日日摸夜夜添夜夜添特色大片 | 超碰97人人人人人蜜桃 |