Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung zum Abrufen von Höhen- und Breitenfunktionen in JavaScript_Javascript-Tipps

WBOY
Freigeben: 2016-05-16 16:34:51
Original
1366 Leute haben es durchsucht

HTML-Code:

Code kopieren Der Code lautet wie folgt:


& Lt; h3 & gt; Dies ist das übergeordnete Element, die Bildschirmauflösung beträgt 1366*768 & lt;/h3 & gt;             

                                                                                                                                                                                                                                                                      

                                                                                                                                                                                                                                     & Lt; h3 & gt; Programmliebhaber QQ-Gruppe: & lt;/h3 & gt; & Lt; H3 & gt; 259280570 & Lt;                                                                                                                                                                                                                                                              

Alles Gute zum Nationalfeiertag


                                                                                                                                                                                                        


                                                                                                                                                                                                                                                                                                                       





css:






Code kopieren
Der Code lautet wie folgt:

*

{

          Rand: 0 automatisch;

} .Vater {             Breite: 500 Pixel;            Höhe: 750px;            Rand: 5 Pixel durchgehend rot;          float: left;
}
.Sohn
{
           Breite: 400 Pixel;
           Höhe: 300 Pixel;
           Rand: 5 Pixel einfarbig schwarz;
​​​​Rand: 20px;
}
.Enkel
{
           Breite: 150 Pixel;
           Höhe: 100 Pixel;
          Rand: 5 Pixel, durchgehend blau;
​​​​Rand: 20px;
           Überlauf: automatisch;
}
.data
{
           Breite: 600 Pixel;
           Höhe: 750px;
           Rand: 5 Pixel durchgehend rot;
         float: left;
          Rand links: 15px;
}




js:






Code kopieren
Der Code lautet wie folgt:


window.onload = function()
{
/*Elementobjekt abrufen*/
          var Father = document.getElementById('father');
          var son = document.getElementById('son');
        var grandson = document.getElementById('grandson');
           var data = document.getElementById('data');
​​​​​ data.innerHTML = "

Ermitteln Sie die Fenstergröße (bezogen auf die Fenstergröße)

";
              data.innerHTML = "Breite des sichtbaren Bereichs von Document.body: " document.body.clientWidth "
";
             data.innerHTML = "Höhe des sichtbaren Bereichs von Document.body: " document.body.clientHeight "
";
              data.innerHTML = "window.innerWidth sichtbare Bereichsbreite: " window.innerWidth "
";
              data.innerHTML = "window.innerHeight sichtbare Bereichshöhe: " window.innerHeight "
";
             data.innerHTML = "Breite des sichtbaren Bereichs von document.documentElement: " document.documentElement.clientWidth "
";
              data.innerHTML = "document.documentElement sichtbare Bereichshöhe: " document.documentElement.clientHeight "
";
​​​​​ data.innerHTML = "

Ermitteln Sie die Größe des Elements selbst (unabhängig davon, ob eine Bildlaufleiste vorhanden ist)

";
                data.innerHTML = ".sons eigene Breite (offsetWidth-Attribut, einschließlich linker und rechter Ränder):" son.offsetWidth "
";
                data.innerHTML = ".sons eigene Größe (offsetHeight-Attribut, einschließlich oberer und unterer Rahmen):" son.offsetHeight "
";
               data.innerHTML = ".son visuelle Breite (clientWidth-Attribut, ohne linke und rechte Ränder):" son.clientWidth "
";
               data.innerHTML = ".son visuelle Höhe (clientHeight-Attribut, ohne obere und untere Ränder):" son.clientHeight "
";
              data.innerHTML = "

Get.grandson scrolling size and visual size

";
​​​​​ data.innerHTML = ".grandson scroll width (scrollWidth attribute):" grandson.scrollWidth "
";
​​​​​ data.innerHTML = ".grandson scroll height (scrollHeight-Attribut):" grandson.scrollHeight "
";
                data.innerHTML = ".grandson visuelle Breite (clientWidth-Attribut, ohne vertikale Bildlaufleiste und Rahmen):" grandson.clientWidth "
";
               data.innerHTML = ".grandson visuelle Höhe (clientHeight-Attribut, ohne horizontale Bildlaufleiste und Rahmen):" grandson.clientHeight "
";
             data.innerHTML = "

Ermitteln Sie die Größe der .grandson-Datei, die aufgerollt wird (bezogen auf die Position der Bildlaufleiste)

";
                 data.innerHTML = ".Die Höhe, bis zu der Grandson gescrollt wird (scrollTop-Attribut, die vertikale Bildlaufleiste wird nach unten verschoben):" grandson.scrollTop "
";
data.innerHTML = ".grandson wird nach links gescrollt (scrollLeft-Attribut, die horizontale Bildlaufleiste gleitet ganz nach rechts):" grandson.scrollLeft "
";
             data.innerHTML = "

Ermitteln Sie die Position des Browserfensters (bezogen auf die Fenstergröße)

";
          /*
*IE, Chrome, Safari und Opera bieten alle Unterstützung für window.screenLeft und *window.screenTop, aber Firxfox unterstützt diese beiden Attribute nicht; *Firxfox, Chrome, Safari und Opera bieten alle Unterstützung für window.screenX *und window.screenY, aber IE unterstützt diese beiden Attribute nicht; */
        var leftPos = (typeof window.screenLeft == 'number')?window.screenLeft:window.screenX;
        var topPos = (typeof window.screenTop == 'number')?window.screenTop:window.screenY;
              data.innerHTML = "Auf dem Textteil der Hauptseite (window.screenTop(Y)):" topPos "
";
               data.innerHTML = "Die linke Seite des Textteils (window.screenLeft(X)):" leftPos "
";
​​​​​ data.innerHTML = "

Bildschirmauflösung abrufen

";
​​​​​ data.innerHTML = "Höhe der Bildschirmauflösung (window.screen.height):" window.screen.height "
";
​​​​​ data.innerHTML = "Breite der Bildschirmauflösung (window.screen.width):" window.screen.width "
";
            data.innerHTML = "

Verfügbare Höhe und Breite des Bildschirms abrufen

";
             data.innerHTML = "Höhe der Bildschirmauflösung (window.screen.availHeight):" window.screen.availHeight "
";
             data.innerHTML = "Breite der Bildschirmauflösung (window.screen.availWidth):" window.screen.availWidth "
";
             data.innerHTML = "

Erhalten Sie die Rahmengröße von .father

";
              data.innerHTML = ".father Upper Border (clientTop):" Father.clientTop "
";
              data.innerHTML = ".father left border (clientLeft):" Father.clientLeft "
";
​​​​​ data.innerHTML = "

Ermitteln Sie den Abstand von .son zum Rand des übergeordneten Elements (d. h. dem Rand, der dem übergeordneten Randelement entspricht)

";
             data.innerHTML = ".son zur oberen Grenze des übergeordneten Elements (offsetTop):" son.offsetTop "
";
              data.innerHTML = ".son zum linken Rand des übergeordneten Elements (offsetLeft):" son.offsetLeft "
";
}

ps: Es gibt Unterschiede in der Art und Weise, wie Browser Boxen analysieren, daher wird es kleine Unterschiede in den oben erhaltenen Daten geben. Im Anhang ist ein Bild.

Vollständiger 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> 
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!