国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-21 00:44:15
字體:
供稿:網(wǎng)友
offset
在所有的瀏覽器里面元素的offsetTop和offsetLeft兩個屬性都是很有用的。他們會給出你元素相對于父元素的坐標位置。

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

解釋
這段代碼非常簡單。先傳入要計算的元素,然后設(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)會當元素沒有了offsetParent的時候結(jié)束。當offsetParent存在的時候,就依然會把offsetLeft加到curleft上,把offsetTop加到curtop上。

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

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



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

轉(zhuǎn)載請保留以下信息
作者:北玉(tw:@rehawk)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 抚顺县| 北票市| 汶上县| 宝坻区| 尤溪县| 张北县| 丹凤县| 历史| 庄浪县| 高台县| 宁都县| 逊克县| 淮南市| 嘉兴市| 苗栗县| 金华市| 特克斯县| 涟水县| 怀远县| 郧西县| 五河县| 互助| 衡南县| 衡水市| 垦利县| 蕉岭县| 奇台县| 南京市| 赣榆县| 富阳市| 柳林县| 冕宁县| 宾阳县| 澎湖县| 筠连县| 虎林市| 常宁市| 兴宁市| 舞阳县| 丹东市| 宁远县|