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 id="获取视窗大小-跟窗口大小有关">获取视窗大小(跟窗口大小有关)</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 id="获取元素自身大小-跟是否有滚动条无关">获取元素自身大小(跟是否有滚动条无关)</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 id="获取-grandson滚动大小和可视大小">获取.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 id="获取-grandson被卷去的大小-跟滚动条的位置有关">获取.grandson被卷去的大小(跟滚动条的位置有关)</h3>"; data.innerHTML += ".grandson被卷去的高(scrollTop属性,竖直滚动条滑到最底端):"+grandson.scrollTop+"<br/>"; data.innerHTML += ".grandson被卷去的左(scrollLeft属性,水平滚动条滑到最右端):"+grandson.scrollLeft+"<br/>"; data.innerHTML += "<h3 id="获取浏览器窗口位置-跟窗口大小有关">获取浏览器窗口位置(跟窗口大小有关)</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 id="获取屏幕分辨率">获取屏幕分辨率</h3>"; data.innerHTML += "屏幕分辨率的高(window.screen.height):"+ window.screen.height+"<br/>"; data.innerHTML += "屏幕分辨率的宽(window.screen.width):"+ window.screen.width+"<br/>"; data.innerHTML += "<h3 id="获取屏幕可用的高宽">获取屏幕可用的高宽</h3>"; data.innerHTML += "屏幕分辨率的高(window.screen.availHeight):"+ window.screen.availHeight+"<br/>"; data.innerHTML += "屏幕分辨率的宽(window.screen.availWidth):"+ window.screen.availWidth+"<br/>"; data.innerHTML += "<h3 id="获取-father的边框大小">获取.father的边框大小</h3>"; data.innerHTML += ".father上边框(clientTop):"+ father.clientTop+"<br/>"; data.innerHTML += ".father左边框(clientLeft):"+ father.clientLeft+"<br/>"; data.innerHTML += "<h3 id="获取-son到父元素边界的距离-即对应margin-父元素对应的border">获取.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 id="这是父元素-屏幕分辨率是">这是父元素,屏幕分辨率是1366*768</h3> <div class="son" id="son"> <h3 id="这是子元素-祝大家国庆快乐">这是子元素,祝大家国庆快乐 </h3> <div class="grandson" id="grandson"> <h3 id="这是孙子元素-祝大家国庆快乐">这是孙子元素,祝大家国庆快乐 </h3> <h3 id="我的博客-www-jb-net">我的博客:www.jb51.net</h3> <h3 id="程序爱好者QQ群">程序爱好者QQ群:</h3> <h3 id="">259280570 </h3> <h3 id="欢迎你加入">欢迎你加入 </h3> <h3 id="国庆快乐">国庆快乐 </h3> </div> </div> </div> <div class="data"> <h3 id="数据输出">数据输出</h3> <div id="data"></div> </div> </body> </html>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++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中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务
