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

首頁 > 語言 > JavaScript > 正文

JavaScript CSS修改學習第一章 查找位置

2024-05-06 14:11:27
字體:
來源:轉載
供稿:網友
offset
在所有的瀏覽器里面元素的offsetTop和offsetLeft兩個屬性都是很有用的。他們會給出你元素相對于父元素的坐標位置。

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

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

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

如果瀏覽器支持offsetParent:

代碼如下: if (obj.offsetParent) {

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

代碼如下: do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;

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

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

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

簡單的返回
這個循環會當元素沒有了offsetParent的時候結束。當offsetParent存在的時候,就依然會把offsetLeft加到curleft上,把offsetTop加到curtop上。

當循環技術的時候,我們就把坐標返回給調用這個函數的程序。

代碼如下: return [curleft,curtop];}


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

轉載請保留以下信息
作者:北玉(tw:@rehawk)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 盐津县| 丰顺县| 渝北区| 沂水县| 儋州市| 奉新县| 四平市| 乌什县| 巩义市| 金塔县| 城步| 望城县| 沾益县| 宁武县| 河曲县| 商洛市| 福泉市| 衡山县| 保亭| 黎平县| 万全县| 新源县| 旺苍县| 崇礼县| 天等县| 故城县| 禄劝| 定州市| 蒙城县| 遵义县| 吐鲁番市| 综艺| 英超| 墨竹工卡县| 大化| 竹山县| 保亭| 庄浪县| 彰化市| 盘锦市| 政和县|