JavaScript CSS修改學習第一章 查找位置
更新時間:2010年02月19日 14:02:39 作者:
在這一章我會給出查找頁面上的元素位置的代碼。他能幫助你找到真正的位置,假如你改變了窗口的尺寸,然后再次運行代碼,也會告訴你新的位置。
offset
在所有的瀏覽器里面元素的offsetTop和offsetLeft兩個屬性都是很有用的。他們會給出你元素相對于父元素的坐標位置。
這段代碼會向上查找offsetParent,然后添加offsetTop和offsetLeft。最終無論offsetParent在哪,他都會給出你元素在屏幕上的真正坐標。
解釋
這段代碼非常簡單。先傳入要計算的元素,然后設(shè)置變量curleft和curtop為0。
如果瀏覽器支持offsetParent:
每次我們找到一個新的對象的時候,把他的offsetTop和offsetLeft加到curtop和curleft上:
小技巧:返回'='的值
下面就是這個技巧:
這個不是表達式錯誤。我不想用'=='來比較obj和obj.offsetParent(那也沒有用,因為一個元素肯定和他的父元素不相等)。
所以我用'='來把obj.offsetParent的值傳遞給obj。在這里我對這個技巧有詳細的解釋。
簡單的返回
這個循環(huán)會當元素沒有了offsetParent的時候結(jié)束。當offsetParent存在的時候,就依然會把offsetLeft加到curleft上,把offsetTop加到curtop上。
當循環(huán)技術(shù)的時候,我們就把坐標返回給調(diào)用這個函數(shù)的程序。
翻譯地址:http://www.quirksmode.org/js/findpos.html
轉(zhuǎn)載請保留以下信息
作者:北玉(tw:@rehawk)
在所有的瀏覽器里面元素的offsetTop和offsetLeft兩個屬性都是很有用的。他們會給出你元素相對于父元素的坐標位置。
這段代碼會向上查找offsetParent,然后添加offsetTop和offsetLeft。最終無論offsetParent在哪,他都會給出你元素在屏幕上的真正坐標。
解釋
這段代碼非常簡單。先傳入要計算的元素,然后設(shè)置變量curleft和curtop為0。
復(fù)制代碼 代碼如下:
function findPos(obj) {
var curleft = curtop = 0;
var curleft = curtop = 0;
如果瀏覽器支持offsetParent:
復(fù)制代碼 代碼如下:
if (obj.offsetParent) {
每次我們找到一個新的對象的時候,把他的offsetTop和offsetLeft加到curtop和curleft上:
復(fù)制代碼 代碼如下:
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
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)
相關(guān)文章
javascript學習筆記(十三) js閉包介紹(轉(zhuǎn))
閉包(closure)是Javascript語言的一個難點,也是它的特色,很多高級應(yīng)用都要依靠閉包實現(xiàn)2012-06-06setInterval()和setTimeout()的用法和區(qū)別示例介紹
setInterval()和setTimeout()想必大家并不陌生吧,接觸js的朋友都知道的,不過還是有一些新手朋友對兩者的用法不是很熟悉,下面簡要的為大家介紹下2013-11-11Javascript實現(xiàn)的SHA-256加密算法完整實例
這篇文章主要介紹了Javascript實現(xiàn)的SHA-256加密算法,以完整實例形式分析了JavaScript實現(xiàn)SHA-256加密的具體步驟與相關(guān)技巧,需要的朋友可以參考下2016-02-02簡略說明Javascript中的= =(等于)與= = =(全等于)區(qū)別
本篇文章簡略說明了Javascript中的= =(等于)與= = =(全等于)區(qū)別,有需要的朋友可以參考一下2013-04-04JavaScript中g(shù)etUTCSeconds()方法的使用詳解
這篇文章主要介紹了JavaScript中g(shù)etUTCSeconds()方法的使用詳解,是JS入門學習中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06如何做到打開一個頁面,過幾分鐘自動轉(zhuǎn)到另一頁面
如何做到打開一個頁面,過幾分鐘自動轉(zhuǎn)到另一頁面...2007-04-04