元素的可見大小由其高度,寬度決定,包括所有內邊距,滾動條和邊款大小(注意,不包括外邊距),通過下列4個屬性可以取得元素的偏移量。
其中,offsetleft
和offsettop
屬性與包含元素有關,包含元素的引用儲存在offsetparent
屬性中。offsetparent
屬性不一定與parentnode
的值相等,offsetparent
就是距離該子元素最近的進行過定位的父元素(position:absolute relative fixed)看一下例子:
首先檢查"position: relative;"
就是離他最近的具有定位的父元素,這時候該元素的>
外"content" style=
"margin-top:50px"
>
內<
/div>
<
/div>
<
/body>這時候,id為content的元素的offsetparent
offsettop
為71,而實際為79,如果上乙個div沒有定位,則offsetparent
為body
,該元素的offset
為79。那麼,想知道元素在頁面上的偏移量,就是將這個元素的offsetleft
和offsettop
與其offsetparent
的相同屬性相加,如此迴圈直至根元素,就可以得到基本準確的值。一下兩個函式就可以用來分別獲取元素的左和上偏移量
function
getelementleft
(element)
return actualeft
}function
getelementtop
(element)
return actuatop
}
document.compatmode
屬性,以確定瀏覽器是否執行在混雜模式,然後利用clientwidth
獲取寬度,clientheight
獲取高度。
function
getviewport()
}else
}}
是指包含滾動內容的元素大小。
需要注意的是,在確定文旦的總高度時,必須取得scrollwidth/clientwidth
和scrollheight/clientheight
中的最大值才能保證在跨瀏覽器的環境下得到精確的結果。
let docheight = math.
max(document.documentelement.scrollheight,document.documentelement.clientheight)
JS高階程式設計閱讀筆記 函式柯里化
函式柯里化是什麼?函式柯里化是把接受多個引數的函式變換成接受乙個單一引數 最初函式的第乙個引數 的函式,並且返回接受餘下的引數而且返回結果的新函式的技術 普通的add函式 function add x,y currying後 function curryingadd x add 1,2 3 curr...
UNIX環境高階程式設計閱讀筆記(一)
參考 系統實用程式 shell 是命令直譯器,相當於翻譯,將指令轉換為核心能聽懂的語言。檢視 shell 版本 1.檔案系統 表示根目錄 目錄是 包含檔案屬性的資訊 檔名的檔案 檔案屬性 檔案型別 普通檔案 目錄 大小 所有者 許可權 最後的修改日期等等。2.檔名 檔名 不能出現 空格 和 新建目錄...
JS閱讀筆記
建立的每乙個函式其實都有乙個prototype 屬性,這個屬性是乙個指標,指向乙個物件,這個物件的用途是包含可以由特定型別的所有例項共享的屬性和方法,換句話說就是,這個物件的屬性和方法被由這個函式建立的所有例項共享。prototype是通過呼叫建構函式而建立的那個物件例項的原型物件。prototyp...