Home >Web Front-end >JS Tutorial >Summary of getting height and width functions in JavaScript_javascript tips

Summary of getting height and width functions in JavaScript_javascript tips

WBOY
WBOYOriginal
2016-05-16 16:34:511417browse

html code:

Copy code The code is as follows:

6c04bd5ca3fcae76e30b72ad730ca86d
b79ced7191e183c9d676e36be1b692f6
& Lt; h3 & gt; This is the parent element, the screen resolution is 1366*768 & lt;/h3 & gt;
           82a5d626104b4f906aa1b7cbbeb4ce9d
                                                                                                                                                                                                                                                                                                                    f43a931bdd408dcbea2853ddde41031f
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         684271ed9684bde649abda8831d4d355259280570                                                                                                                                                                                                                                                                                    684271ed9684bde649abda8831d4d355Welcome to join 39528cedfa926ea0c01e69ef5b2ea9b0
                                                                                                                                                                                                                                                                            684271ed9684bde649abda8831d4d355Happy National Day 39528cedfa926ea0c01e69ef5b2ea9b0
                                                                                                                                                                                                                  16b28748ea4df4d9c2150843fecfba68
8adfa8c1ccacbcb84d601203e62b568b
                                                                                                                                                                                                                                                                                                                                                      16b28748ea4df4d9c2150843fecfba68
36cc49f0c466276486e50c850b7e4956




css:



Copy code

The code is as follows:

            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:



Copy code

The code is as follows:


window.onload = function()
{
​​​​/*Get element object*/
           var father = document.getElementById('father');
           var son = document.getElementById('son');
        var grandson = document.getElementById('grandson');
        var data = document.getElementById('data');
​​​​​ data.innerHTML = "684271ed9684bde649abda8831d4d355Get the window size (related to the window size)39528cedfa926ea0c01e69ef5b2ea9b0";
              data.innerHTML = "Document.body visible area width: " document.body.clientWidth "076402276aae5dbec7f672f8f4e5cc81";
             data.innerHTML = "Document.body visible area height: " document.body.clientHeight "076402276aae5dbec7f672f8f4e5cc81";
              data.innerHTML = "window.innerWidth visible area width: " window.innerWidth "076402276aae5dbec7f672f8f4e5cc81";
              data.innerHTML = "window.innerHeight visible area height: " window.innerHeight "076402276aae5dbec7f672f8f4e5cc81";
             data.innerHTML = "document.documentElement visible area width: " document.documentElement.clientWidth "076402276aae5dbec7f672f8f4e5cc81";
              data.innerHTML = "document.documentElement visible area height: " document.documentElement.clientHeight "076402276aae5dbec7f672f8f4e5cc81";
​​​​​ data.innerHTML = "684271ed9684bde649abda8831d4d355Get the size of the element itself (regardless of whether there is a scroll bar)39528cedfa926ea0c01e69ef5b2ea9b0";
                data.innerHTML = ".son's own width (offsetWidth attribute, including left and right borders):" son.offsetWidth "076402276aae5dbec7f672f8f4e5cc81";
                data.innerHTML = ".son's own height (offsetHeight attribute, including upper and lower borders):" son.offsetHeight "076402276aae5dbec7f672f8f4e5cc81";
                data.innerHTML = ".son visual width (clientWidth attribute, excluding left and right borders):" son.clientWidth "076402276aae5dbec7f672f8f4e5cc81";
               data.innerHTML = ".son visual height (clientHeight attribute, excluding upper and lower borders):" son.clientHeight "076402276aae5dbec7f672f8f4e5cc81";
              data.innerHTML = "684271ed9684bde649abda8831d4d355Get.grandson scrolling size and visual size39528cedfa926ea0c01e69ef5b2ea9b0";
​​​​​ data.innerHTML = ".grandson scroll width (scrollWidth attribute):" grandson.scrollWidth "076402276aae5dbec7f672f8f4e5cc81";
​​​​​ data.innerHTML = ".grandson scroll height (scrollHeight attribute):" grandson.scrollHeight "076402276aae5dbec7f672f8f4e5cc81";
                data.innerHTML = ".grandson visual width (clientWidth attribute, excluding vertical scroll bar and border):" grandson.clientWidth "076402276aae5dbec7f672f8f4e5cc81";
               data.innerHTML = ".grandson visual height (clientHeight attribute, excluding horizontal scroll bar and border):" grandson.clientHeight "076402276aae5dbec7f672f8f4e5cc81";
             data.innerHTML = "684271ed9684bde649abda8831d4d355Get the size of .grandson being rolled up (related to the position of the scroll bar)39528cedfa926ea0c01e69ef5b2ea9b0";
                 data.innerHTML = ".The height to which grandson is scrolled (scrollTop attribute, the vertical scroll bar slides to the bottom):" grandson.scrollTop "076402276aae5dbec7f672f8f4e5cc81";
data.innerHTML = ".grandson is scrolled to the left (scrollLeft attribute, the horizontal scroll bar slides to the far right):" grandson.scrollLeft "076402276aae5dbec7f672f8f4e5cc81";
​​​​​ data.innerHTML = "684271ed9684bde649abda8831d4d355Get the browser window position (related to the window size)39528cedfa926ea0c01e69ef5b2ea9b0";
          /*
*IE, Chrome, Safari, and Opera all provide support for window.screenLeft and *window.screenTop, but Firxfox does not support these two attributes;
*Firxfox, Chrome, Safari, and Opera all provide support for window.screenX *and window.screenY, but IE does not support these two attributes;
*/
        var leftPos = (typeof window.screenLeft == 'number')?window.screenLeft:window.screenX;
        var topPos = (typeof window.screenTop == 'number')?window.screenTop:window.screenY;
              data.innerHTML = "On the body page text part (window.screenTop(Y)):" topPos "076402276aae5dbec7f672f8f4e5cc81";
               data.innerHTML = "The left side of the body text part (window.screenLeft(X)):" leftPos "076402276aae5dbec7f672f8f4e5cc81";
​​​​​ data.innerHTML = "684271ed9684bde649abda8831d4d355Get screen resolution39528cedfa926ea0c01e69ef5b2ea9b0";
​​​​​ data.innerHTML = "Screen resolution height (window.screen.height):" window.screen.height "076402276aae5dbec7f672f8f4e5cc81";
​​​​​ data.innerHTML = "Screen resolution width (window.screen.width):" window.screen.width "076402276aae5dbec7f672f8f4e5cc81";
​​​​​ data.innerHTML = "684271ed9684bde649abda8831d4d355Get the available height and width of the screen39528cedfa926ea0c01e69ef5b2ea9b0";
             data.innerHTML = "Screen resolution height (window.screen.availHeight):" window.screen.availHeight "076402276aae5dbec7f672f8f4e5cc81";
​​​​​ data.innerHTML = "Screen resolution width (window.screen.availWidth):" window.screen.availWidth "076402276aae5dbec7f672f8f4e5cc81";
data.innerHTML = "684271ed9684bde649abda8831d4d355Get the border size of .father39528cedfa926ea0c01e69ef5b2ea9b0";
              data.innerHTML = ".father upper border (clientTop):" father.clientTop "076402276aae5dbec7f672f8f4e5cc81";
              data.innerHTML = ".father left border (clientLeft):" father.clientLeft "076402276aae5dbec7f672f8f4e5cc81";
                data.innerHTML = "684271ed9684bde649abda8831d4d355 Get the distance from .son to the border of the parent element (that is, the border corresponding to the margin parent element)39528cedfa926ea0c01e69ef5b2ea9b0";
              data.innerHTML = ".son to the upper boundary of the parent element (offsetTop):" son.offsetTop "076402276aae5dbec7f672f8f4e5cc81";
              data.innerHTML = ".son to the left edge of the parent element (offsetLeft):" son.offsetLeft "076402276aae5dbec7f672f8f4e5cc81";
}

ps: There are differences in how browsers parse boxes, so there will be small differences in the data obtained above. Attached is a picture.

Full code:

<!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')&#63;window.screenLeft:window.screenX;
		var topPos = (typeof window.screenTop == 'number')&#63;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> 
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn