![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: steckl, 31. 07. 2007, 10:06
Hi,
gibt es eine Moeglichkeit mit JS die Breite eines HTML-Elements abzueglich der Breite des Rahmens (border) zu bekommen?
Das einzige was ich gefunden habe ist offsetWidth, das gibt mir aber die Breite des Elements mit Rahmen Aus.
Beispiel:
CSS: #TXT {
width: 150px;
border: 1px solid black;
}
HTML: <input id="TXT" type="Text" name="anzeige">
Jetzt moechte ich irgendwie auf die 150 kommen.
mit .style.width bekomme ich einen Leerstring und mit .offsetWidth 152.
Das oben beschriebene Verhalten tritt im FF1.5 und bei Doctype strict auf.
mfG,
steckl
Die folgende Nachricht zum Thema stammt von: Gunnar Bittersmann, 31. 07. 2007, 10:39
Hello out there!
»» mit .style.width bekomme ich einen Leerstring
Weil du das nicht mit JavaScript gesetzt hast.if (window.getComputedStyle)
alert(window.getComputedStyle(document.getElementById("TXT", "").getPropertyValue("width"));
See ya up the road,
Gunnar
--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
Die folgende Nachricht zum Thema stammt von: Gunnar Bittersmann, 31. 07. 2007, 10:50
Hello out there!
IEs, die getComputedStyle nicht kennen, kennen dafür currentStyle:var TXT = document.getElementById("TXT");
if (window.getComputedStyle)
alert(window.getComputedStyle(TXT, "").getPropertyValue("width"));
else if (TXT.currentStyle)
alert(TXT.currentStyle.width);
[/archiv/2007/3/t147909/#m959320]
See ya up the road,
Gunnar
--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
Die folgende Nachricht zum Thema stammt von: steckl, 31. 07. 2007, 11:54
danke, funktioniert wie gewuenscht :-)
Ich werde jetzt damit noch etwas rumexperimentieren und mich gegebenenfalls nochmal melden.
mfG,
steckl
Die folgende Nachricht zum Thema stammt von: berdn, 31. 07. 2007, 22:04
Hallo steckl
habe noch das dazu hier im Forum gefunden:
http://www.robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element/
Hätte den auch schon früher gemailt, bin aber Wahnsinnig geworden bei den Versuch das im IE anzuwenden auf ein Objekt was ich geclont hatte aber noch nicht wieder im DOM hatte.
So vergehen Stunden.
Liebe Grüße
Bernd
Die folgende Nachricht zum Thema stammt von: steckl, 01. 08. 2007, 09:48
Hi,
»» habe noch das dazu hier im Forum gefunden:
»» http://www.robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element/
Danke, die Funktion dort ist recht praktisch, auch wenn es etwas gedauert hat, bis ich ueberrissen habe, wasstrCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
return p1.toUpperCase();
});
macht.
Jetzt weiss ich, dass es nur - (Bindestrich) loescht und aus dem Nachfolgendem Zeichen einen Grossbuchstaben macht :-)
mfG,
steckl
Die folgende Nachricht zum Thema stammt von: goldie, 31. 07. 2007, 10:44
Hallo steckl,
was hälst Du von der Möglichkeit die Breite mit .offsetWidth auszulesen und dann davon 2 zu subtrahieren? Das sollte mit JavaScript doch kein Problem sein oder?
mfg goldie
Die folgende Nachricht zum Thema stammt von: Gunnar Bittersmann, 31. 07. 2007, 10:46
Hello out there!
»» was hälst Du von der Möglichkeit die Breite mit .offsetWidth auszulesen und dann davon 2 zu subtrahieren?
Aus welcher Luft greifst du die 2?
See ya up the road,
Gunnar
--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
© 1998-2006
Impressum, Software: Classic Forum