Heim >Web-Frontend >js-Tutorial >JavaScript erhält die Fähigkeiten von Elementgröße und Größenoperation summary_javascript
1. Holen Sie sich den Inline-Stil des Elements
2. Holen Sie sich den berechneten Stil
Hinweis: Wenn die Breite und Höhe des Elements nicht festgelegt sind, werden in Nicht-IE-Browsern die Standardbreite und -höhe zurückgegeben. Auto-String
unter IE zurückgeben3. Holen Sie sich die Stile in die Tags
Zusammenfassung: Die oben genannten drei CSS-Methoden zum Ermitteln der Elementgröße können nur die CSS-Größe des Elements ermitteln, nicht jedoch die tatsächliche Größe des Elements selbst. Fügen Sie beispielsweise Polsterungen, Bildlaufleisten, Ränder usw. hinzu.
4. Ermitteln Sie die tatsächliche Größe des Elements1. clientWidth und clientHeight
Dieser Satz von Attributen kann die Größe des sichtbaren Bereichs des Elements sowie den vom Inhalt und der Auffüllung des Elements eingenommenen Platz ermitteln. Die Elementgröße wird zurückgegeben, es gibt jedoch keine Einheit. Wenn Sie die Einheit zwangsweise festlegen, z. B. 100em, wird weiterhin die Größe px zurückgegeben. (Wenn CSS abgerufen wird, erfolgt der Abruf entsprechend dem von Ihnen festgelegten Stil.) Für die tatsächliche Größe des Elements werden clientWidth und clientHeight wie folgt verstanden:
a. Rand hinzufügen, keine Änderung;
b. Rand hinzufügen, keine Änderung;
c. Erhöhen Sie die Bildlaufleiste. Der Endwert entspricht der Originalgröße abzüglich der Größe der Bildlaufleiste
d. Erhöhen Sie die Polsterung. Der Endwert entspricht der Originalgröße plus der Polsterung
Code kopieren
Hinweis: Wenn keine CSS-Breite und -Höhe festgelegt sind, berücksichtigen Nicht-IE-Browser die berechnete Größe der Bildlaufleiste und des Abstands, während IE-Browser 0 zurückgeben (behoben in IE8).
2. scrollWidth und scrollHeight
Dieser Satz von Eigenschaften kann die Elementgröße des Bildlaufinhalts (sichtbarer Inhalt) ermitteln. Gibt die Elementgröße zurück, die Standardeinheit ist px. Wenn Sie keine CSS-Breite und -Höhe festlegen, werden die berechnete Breite und Höhe übernommen. Für die tatsächliche Größe des Elements werden scrollWidth und scrollHeight wie folgt verstanden:
1. Rahmen hinzufügen, verschiedene Browser haben unterschiedliche Interpretationen (das Folgende funktioniert normalerweise in IE8, aber nicht in IE6):
a) Firefox- und Opera-Browser vergrößern den Rahmen auf 220 x 220
b) IE-, Chrome- und Safari-Browser ignorieren die Rahmengröße 200x200
c) Der IE-Browser zeigt nur die Höhe seines ursprünglichen Inhalts an, 200 x 18 (IE8 hat dieses Problem behoben)
2. Fügen Sie die Polsterung hinzu. Der endgültige Wert entspricht der Originalgröße plus der Polsterungsgröße, 220 x 220, dh 220 x 38
3. Fügen Sie eine Bildlaufleiste hinzu. Der endgültige Wert entspricht der Originalgröße abzüglich der Größe der Bildlaufleiste, 184 x 184, dh 184 x 18
4. Festungen an den Außengrenzen hinzugefügt, keine Änderung.
5. Erhöhen Sie den Inhaltsüberlauf. Firefox, Chrome und IE erhalten eine kleinere Höhe als die ersten drei Browser und Safari erhält eine größere Höhe als die ersten drei Browser.
3. offsetWidth und offsetHeight
Dieser Satz von Eigenschaften kann die tatsächliche Größe des Elements zurückgeben, einschließlich Rahmen, Abstand und Bildlaufleisten. Gibt die Elementgröße zurück, die Standardeinheit ist px. Wenn Sie keine CSS-Breite und -Höhe festlegen, werden die berechnete Breite und Höhe übernommen. Für die tatsächliche Größe des Elements werden offsetWidth und offsetHeight wie folgt verstanden:
1. Fügen Sie einen Rahmen hinzu. Der Endwert entspricht der Originalgröße plus der Rahmengröße, also 220
2. Erhöhen Sie die Polsterung. Der Endwert entspricht der Originalgröße plus der Polsterungsgröße, also 220
3. Außengrenzfestungen hinzugefügt, keine Änderung;
4. Bildlaufleiste hinzufügen, keine Änderung, keine Verringerung;
Um die Elementgröße zu ermitteln, ist es im Allgemeinen bequemer, Elemente auf Blockebene und Elemente mit festgelegten CSS-Größen zu verwenden. Dies ist besonders problematisch, wenn es sich um ein Inline-Element (Inline) oder ein Element ohne festgelegte Größe handelt. Daher wird empfohlen, bei der Verwendung darauf zu achten.
Code kopieren
Dieser Satz von Attributen kann die vom Element festgelegte Größe des linken und oberen Rands ermitteln. Derzeit werden nur die Gruppen „Links“ und „Oben“ bereitgestellt, während „Rechts“ und „Unten“ nicht verfügbar sind. Wenn die Breite der vier Seiten unterschiedlich ist, kann sie direkt durch den berechneten Stil oder durch Subtraktion der oben genannten drei Gruppen ermittelt werden, um die Elementgröße zu erhalten.
Die Breite des rechten Randes: obj.offsetWidth-obj.clientWidth-obj.clientLeft
Breite des unteren Rahmens: obj.offsetHeight-obj.clientHeight-obj.clientTop
Code kopieren
2. offsetLeft und offsetTop
Dieser Satz von Attributen kann die Position des aktuellen Elements relativ zum übergeordneten Element ermitteln. Um die aktuelle Position eines Elements relativ zu seinem übergeordneten Element zu ermitteln, setzen Sie es am besten auf position:absolute; andernfalls haben verschiedene Browser unterschiedliche Interpretationen.
a. Setzen Sie die Position auf „absolut“, und alle Browser geben den gleichen Wert zurück. Zum Beispiel:
b. Das Hinzufügen von Rändern und Polsterungen hat keinen Einfluss auf die Position, aber das Hinzufügen von Außenpolstern wird sich summieren.
3. box.offsetParent erhält das übergeordnete Element
Wenn in offsetParent das übergeordnete Element
4.scrollTop und scrollLeft
Dieser Satz von Attributen kann die Größe des Bereichs ermitteln, in dem die Bildlaufleiste ausgeblendet ist (der Bereich über der Bildlaufleiste), und kann auch so eingestellt werden, dass dieser Bereich lokalisiert wird. Wenn Sie möchten, dass die Bildlaufleiste zur Anfangsposition scrollt, können Sie eine Funktion schreiben:
5. getBoundingClientRect()
Diese Methode gibt ein Rechteckobjekt zurück, das vier Eigenschaften enthält: links, oben, rechts und unten. Stellt den Abstand zwischen jeder Seite des Elements und der oberen bzw. linken Seite der Seite dar.
Hinweis: IE, Firefox3, Opera9.5, Chrome und Safari werden unterstützt. Im IE werden die Standardkoordinaten aus (2,2) berechnet, was dazu führt, dass der endgültige Abstand zwei Pixel mehr beträgt als bei anderen Browsern um ein kompatibles zu machen.
Das Obige ist der gesamte in diesem Artikel beschriebene Inhalt. Ich hoffe, er wird euch gefallen.