
假設 obj 為某個 HTML 控制項
obj.offsetTop 指 obj 相對於版面或由 offsetParent 屬性指定的父座標的計算上側位置,整型,單位像素。
obj.offsetLeft 指 obj 相對於版面或由 offsetParent 屬性指定的父座標的計算左側位置,整型,單位像素。
obj.offsetWidth 指 obj 控制項本身的絕對寬度,不包括因 overflow 而未顯示的部分,也就是其實際佔據的寬度,整型,單位像素。
obj.offsetHeight 指 obj 控製本身的絕對高度,不包括因 overflow 而未顯示的部分,也就是其實際佔據的高度,整型,單位像素。
我們對前面提到的 offsetParent 作個說明。
offsetParent 取得定義物件 offsetTop 和 offsetLeft 屬性的容器物件的參考。 offsetTop 與 offsetParent 很複雜,不同瀏覽器有不同解釋,浮動一下解釋又不同了,所以我們一般只要理解透過二者可以獲得控制在瀏覽器中的絕對位置即可。
以上屬性在 FireFox 中也有效。
另外:我們這裡所說的是指HTML 控制項的屬性值,並不是document.body,document.body 的值在不同瀏覽器中有不同解釋(實際上大多數環境是由於對document .body 解釋不同造成的,並不是因為對offset 解釋不同造成的)
我們知道 offsetTop 可以得到 HTML 元素距離上方或外層元素的位置,style.top 也是可以的,二者的差別是:
一、offsetTop 回傳的是數字,而 style.top 回傳的是字串,除了數字外還帶有單位:px。
二、offsetTop 只讀,而 style.top 可讀寫。
三、如果沒有給 HTML 元素指定過 top 樣式,則 style.top 傳回的是空字串。
offsetLeft 與 style.left、offsetWidth 與 style.width、offsetHeight 與 style.height 也是同樣道理。
clientHeight
大家對clientHeight 都沒有什麼異議,都認為是內容視覺區域的高度,也就是說頁面瀏覽器中可以看到內容的這個區域的高度,一般是最後一個工具條以下到狀態列以上的這個區域,與頁面內容無關。
offsetHeight
IE、Opera 認為 offsetHeight = clientHeight 捲軸 邊框。
NS、FF 認為 offsetHeight 是網頁內容實際高度,可以小於 clientHeight。
scrollHeight
IE、Opera 認為 scrollHeight 是網頁內容實際高度,可以小於 clientHeight。
NS、FF 認為 scrollHeight 是網頁內容高度,不過最小值是 clientHeight。
簡單地說
clientHeight 就是透過瀏覽器看內容的這個區域高度。
NS、FF 認為 offsetHeight 和 scrollHeight 都是網頁內容高度,只不過當網頁內容高度小於等於 clientHeight 時,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小於 clientHeight。
IE、Opera 認為 offsetHeight 是視覺區域 clientHeight 捲軸加邊框。 scrollHeight 是網頁內容實際高度。
同理
clientWidth、offsetWidth 和 scrollWidth 的解釋與上方相同,只是把高度換成寬度即可。
說明
以上基於DTD HTML 4.01 Transitional,如果是DTD XHTML 1.0 Transitional 則意義又會不同,在XHTML 中這三個值都是同一個值,都表示內容的實際值高度。新版本的瀏覽器大多支援根據頁面指定的 DOCTYPE 來啟用不同的解釋器
scrollTop 是「捲」起來的高度值,範例:
程式碼如下:
程式碼如下:
由於為外層元素 p 設定了 scrollTop,所以內層元素會向上捲,這捲起來的部分就是 scrollTop。
scrollLeft 也是類似道理。
我們已經知道 offsetHeight 是自身元素的寬度,而 scrollHeight 是內部元素的絕對寬度,包含內部元素的隱藏的部分。上述 p 的 scrollHeight 為 300,而 p 的 offsetHeight 為 100。
scrollWidth 也是類似道理。
IE 和 FireFox 全面支持,而 Netscape 8 和 Opera 7.6 不支援 scrollTop、scrollLeft(document.body.scrollTop、document.body.scrollLeft 除外)。
1.clientHeight, clientWidth:
這兩個屬性大體上顯示了元素內容的像素高度和寬度.理論上說這些測量不考慮任何透過樣式表加入
元素中的頁邊距,邊框等.
2.clientLeft,clientTop:
這兩個回傳的是元素周圍邊框的厚度,如果不指定一個邊框或不定位改元素,他的值就是0.
3.scrollLeft,scrollTop:
如果元素是可以滾動的,可以透過這兩個屬性得到元素在水平和垂直方向上滾動了多遠,單位是像素.
對於不可以滾動的元素,這些值總是0.
4.scrollHeight,scrollWidth:
不管有多少物件在頁面上可見,他們得到的是整體.
5.style.left:
定位元素與包含它的矩形左邊界的偏移量
6.style.pixelLeft:
傳回定位元素左邊界偏移量的整數像素值.因為屬性的非像素值回傳的是包含單位的字串,例如,30px.利用這個屬性可以單獨處理以像素為單位的數值.
7.style:posLetf:
傳回定位元素左邊界偏移的數量值,不管對應的樣式表元素指定什麼單位.因為屬性的非位置值回傳的是包含單位的字串,例如,1.2em
top,pixelTop,posTOp這幾個類比就行了.
LEFT: 為從左向右移的位置,即掛件距離螢幕左邊緣的距離;
clientLeft 傳回物件的offsetLeft屬性值與到目前視窗左邊的真實值之間的距離
offsetLeft 傳回物件相對於父級物件的佈局或座標的left值,就是以父級物件左上角為座標原點,向右與向下為X、Y軸正方向的x座標
pixelLeft 設定或返回物件相對於視窗左邊的位置
scrollWidth 是物件的實際內容的寬,不包邊線寬度,會隨物件中內容的多少改變(內容多了可能會改變物件的實際寬度)。
clientWidth 是物件可見的寬度,不包捲軸等邊線,會隨視窗的顯示大小改變。
offsetWidth 是物件的可見寬度,包裝捲軸等邊線,會隨視窗的顯示大小改變。
IE6.0、FF1.06 :
clientWidth = width padding
clientHeight = height padding
offsetWidorderth = widthpad ding bding bee> padding
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSScli中的margind 、offsetWidth、clientHeight、offsetHeight皆無關)
clientwidth:是元素的可見寬度。等於padding width
scrollwidth:是元素的寬度且包括滾動部分。
offsetLeft:Html元素相對於自己的offsetParent元素的位置
scrollLeft:返回和設置當前橫向滾動務的坐標值
點擊div,先彈出b相對於a的位置,再彈出a相對於窗口的位置

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中