JavaScript中取得高度和寬度函數總結_javascript技巧
html代碼:
這是父元素,而螢幕解析度是1366*768
這是子元素,並祝福大家國慶快樂
這是孫子元素,並祝福大家國慶快樂
我的部落格:www.jb51.net
程式愛好者QQ群:
259280570
歡迎你加入
國慶快樂
資料輸出
css:
*
{
margin: 0 auto;
}
.father
{
width: 500px;
height: 750px;
border: 5px solid red;
float: left;
}
.son
{
width: 400px;
height: 300px;
border: 5px solid black;
margin: 20px;
}
.grandson
{
width: 150px;
height: 100px;
border: 5px solid blue;
margin: 20px;
overflow: auto;
}
.data
{
width: 600px;
height: 750px;
border: 5px solid red;
float: left;
margin-left: 15px;
}
js:
window.onload = function()
{
/*取得元素物件*/
var father = document.getElementById('father');
var son = document.getElementById('son');
var grandson = document.getElementById('grandson');
var data = document.getElementById('data');
data.innerHTML = "
取得視窗大小(跟視窗大小有關)
";data.innerHTML = "document.body可見區域寬: " document.body.clientWidth "
";
data.innerHTML = "document.body可見區域高: " document.body.clientHeight "
";
data.innerHTML = "window.innerWidth可見區域寬: " window.innerWidth "
";
data.innerHTML = "window.innerHeight可見區域高: " window.innerHeight "
";
data.innerHTML = "document.documentElement可見區域寬: " document.documentElement.clientWidth "
";
data.innerHTML = "document.documentElement可見區域高: " document.documentElement.clientHeight "
";
data.innerHTML = "
取得元素自身大小(跟是否有捲軸無關)
";data.innerHTML = ".son自身寬度(offsetWidth屬性,包括左右邊框):" son.offsetWidth "
";
data.innerHTML = ".son自身高度(offsetHeight屬性,包括上下邊框):" son.offsetHeight "
";
data.innerHTML = ".son可視寬度(clientWidth屬性,不包括左右邊框):" son.clientWidth "
";
data.innerHTML = ".son可視高度(clientHeight屬性,不包括上下邊框):" son.clientHeight "
";
data.innerHTML = "
取得.grandson滾動大小和視覺大小
";data.innerHTML = ".grandson滾動寬度(scrollWidth屬性):" grandson.scrollWidth "
";
data.innerHTML = ".grandson滾動高度(scrollHeight屬性):" grandson.scrollHeight "
";
data.innerHTML = ".grandson可視寬度(clientWidth屬性,不包括垂直捲軸和border):" grandson.clientWidth "
";
data.innerHTML = ".grandson可視高度(clientHeight屬性,不包括水平捲軸和border):" grandson.clientHeight "
";
data.innerHTML = "
取得.grandson被捲去的大小(跟捲軸的位置有關)
";data.innerHTML = ".grandson被捲去的高(scrollTop屬性,垂直滾動條滑到最底端):" grandson.scrollTop "
";
data.innerHTML = ".grandson被捲去的左(scrollLeft屬性,水平滾動條滑到最右端):" grandson.scrollLeft "
";
data.innerHTML = "
取得瀏覽器視窗位置(跟視窗大小有關)
";/*
*IE、Chrome、Safari、Opera 都提供了支援 window.screenLeft 和 *window.screenTop,但Firxfox不支援這兩個屬性;
*Firxfox、Chrome、Safari、Opera 都提供了支援 window.screenX *和 window.screenY,但 IE 不支援這兩個屬性;
*/
var leftPos = (typeof window.screenLeft == 'number')?window.screenLeft:window.screenX;
var topPos = (typeof window.screenTop == 'number')?window.screenTop:window.screenY;
data.innerHTML = "body網頁正文部分(window.screenTop(Y)):" topPos "
";
data.innerHTML = "body網頁正文部分左(window.screenLeft(X)):" leftPos "
";
data.innerHTML = "
取得螢幕解析度
";data.innerHTML = "螢幕解析度的高度(window.screen.height):" window.screen.height "
";
data.innerHTML = "螢幕解析度的寬(window.screen.width):" window.screen.width "
";
data.innerHTML = "
取得螢幕可用的高寬
";data.innerHTML = "螢幕解析度的高(window.screen.availHeight):" window.screen.availHeight "
";
data.innerHTML = "螢幕解析度的寬(window.screen.availWidth):" window.screen.availWidth "
";
data.innerHTML = "
取得.father的邊框大小
";data.innerHTML = ".father上邊框(clientTop):" father.clientTop "
";
data.innerHTML = ".father左邊框(clientLeft):" father.clientLeft "
";
data.innerHTML = "
取得.son到父元素邊界的距離(即對應margin 父元素對應的border)
";data.innerHTML = ".son到父元素上邊界(offsetTop):" son.offsetTop "
";
data.innerHTML = ".son到父元素左邊界(offsetLeft):" son.offsetLeft "
";
}
ps:瀏覽器對盒子的解析有差異,所以以上所得的資料也會有小小差異。附圖一張。
完整程式碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="utf-8" /> <title>test</title> <style type="text/css"> * { margin: 0 auto; } .father { width: 500px; height: 750px; border: 5px solid red; float: left; } .son { width: 400px; height: 300px; border: 5px solid black; margin: 20px; } .grandson { width: 150px; height: 100px; border: 5px solid blue; margin: 20px; overflow: auto; } .data { width: 600px; height: 750px; border: 5px solid red; float: left; margin-left: 15px; } </style> <script type="text/javascript"> window.onload = function() { /*获取元素对象*/ var father = document.getElementById('father'); var son = document.getElementById('son'); var grandson = document.getElementById('grandson'); var data = document.getElementById('data'); data.innerHTML = "<h3>获取视窗大小(跟窗口大小有关)</h3>"; data.innerHTML += "document.body可见区域宽: "+document.body.clientWidth+"<br/>"; data.innerHTML += "document.body可见区域高: "+document.body.clientHeight+"<br/>"; data.innerHTML += "window.innerWidth可见区域宽: "+window.innerWidth+"<br/>"; data.innerHTML += "window.innerHeight可见区域高: "+window.innerHeight+"<br/>"; data.innerHTML += "document.documentElement可见区域宽: "+document.documentElement.clientWidth+"<br/>"; data.innerHTML += "document.documentElement可见区域高: "+document.documentElement.clientHeight+"<br/>"; data.innerHTML += "<h3>获取元素自身大小(跟是否有滚动条无关)</h3>"; data.innerHTML += ".son自身宽度(offsetWidth属性,包括左右边框):"+son.offsetWidth+"<br/>"; data.innerHTML += ".son自身高度(offsetHeight属性,包括上下边框):"+son.offsetHeight+"<br/>"; data.innerHTML += ".son可视宽度(clientWidth属性,不包括左右边框):"+son.clientWidth+"<br/>"; data.innerHTML += ".son可视高度(clientHeight属性,不包括上下边框):"+son.clientHeight+"<br/>"; data.innerHTML += "<h3>获取.grandson滚动大小和可视大小</h3>"; data.innerHTML += ".grandson滚动宽度(scrollWidth属性):"+grandson.scrollWidth+"<br/>"; data.innerHTML += ".grandson滚动高度(scrollHeight属性):"+grandson.scrollHeight+"<br/>"; data.innerHTML += ".grandson可视宽度(clientWidth属性,不包括竖直滚动条和border):"+grandson.clientWidth+"<br/>"; data.innerHTML += ".grandson可视高度(clientHeight属性,不包括水平滚动条和border):"+grandson.clientHeight+"<br/>"; data.innerHTML += "<h3>获取.grandson被卷去的大小(跟滚动条的位置有关)</h3>"; data.innerHTML += ".grandson被卷去的高(scrollTop属性,竖直滚动条滑到最底端):"+grandson.scrollTop+"<br/>"; data.innerHTML += ".grandson被卷去的左(scrollLeft属性,水平滚动条滑到最右端):"+grandson.scrollLeft+"<br/>"; data.innerHTML += "<h3>获取浏览器窗口位置(跟窗口大小有关)</h3>"; /* *IE、Chrome、Safari、Opera 都提供了支持 window.screenLeft 和 *window.screenTop,但是Firxfox不支持这个两个属性; *Firxfox、Chrome、Safari、Opera 都提供了支持 window.screenX *和 window.screenY,但是 IE 不支持这个两个属性; */ var leftPos = (typeof window.screenLeft == 'number')?window.screenLeft:window.screenX; var topPos = (typeof window.screenTop == 'number')?window.screenTop:window.screenY; data.innerHTML += "body网页正文部分上(window.screenTop(Y)):"+ topPos+"<br/>"; data.innerHTML += "body网页正文部分左(window.screenLeft(X)):"+ leftPos+"<br/>"; data.innerHTML += "<h3>获取屏幕分辨率</h3>"; data.innerHTML += "屏幕分辨率的高(window.screen.height):"+ window.screen.height+"<br/>"; data.innerHTML += "屏幕分辨率的宽(window.screen.width):"+ window.screen.width+"<br/>"; data.innerHTML += "<h3>获取屏幕可用的高宽</h3>"; data.innerHTML += "屏幕分辨率的高(window.screen.availHeight):"+ window.screen.availHeight+"<br/>"; data.innerHTML += "屏幕分辨率的宽(window.screen.availWidth):"+ window.screen.availWidth+"<br/>"; data.innerHTML += "<h3>获取.father的边框大小</h3>"; data.innerHTML += ".father上边框(clientTop):"+ father.clientTop+"<br/>"; data.innerHTML += ".father左边框(clientLeft):"+ father.clientLeft+"<br/>"; data.innerHTML += "<h3>获取.son到父元素边界的距离(即对应margin+父元素对应的border)</h3>"; data.innerHTML += ".son到父元素上边界(offsetTop):"+ son.offsetTop+"<br/>"; data.innerHTML += ".son到父元素左边界(offsetLeft):"+ son.offsetLeft+"<br/>"; } </script> </head> <body> <div class="father" id="father"> <h3>这是父元素,屏幕分辨率是1366*768</h3> <div class="son" id="son"> <h3>这是子元素,祝大家国庆快乐 </h3> <div class="grandson" id="grandson"> <h3>这是孙子元素,祝大家国庆快乐 </h3> <h3>我的博客:www.jb51.net</h3> <h3>程序爱好者QQ群:</h3> <h3>259280570 </h3> <h3>欢迎你加入 </h3> <h3>国庆快乐 </h3> </div> </div> </div> <div class="data"> <h3>数据输出</h3> <div id="data"></div> </div> </body> </html>

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

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

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數
