Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Toast

Tripel-As

Dabei seit: 02.01.2011

Beiträge: 210

 

1 Zum Seitenanfang

Sonntag, 2. Januar 2011, 16:17

Hallo und gleich ne Frage zur JS-Style-Abfrage

Hi,

Eventuell kenn mich noch einer als twister-duelmen, so bin ich hier vor ich glaub zwei Jahren herumgegeistert. Nun bin ich wieder da :D und hoffe erneut auf interessante Disskussionen.

So, jetzt aber zu meiner (ersten) Frage:

Und zwar habe ich ein Problem mit meinem JS.
In der html-Datei existiert folgende Funktion.

Javascript-Quelltext

1
2
3
4
function sheet() {
	z = document.getElementsByTagName("body")[0].style.fontSize;
	alert(z);
}

Diese wird im HTML-Dokument wie folgt aufgerufen:

HTML

1
<body onload="initiate();sheet()">

Das Problem ist nun, dass im Rückgabefeld kein Wert steht - da steht gar nichts. Wahrscheinlich mal wieder ne dumme Sache, aber da ich mich in JS nicht ganz fit fühle finde ich den Fehler scheinbar nicht.

Vielen Dank schon mal im Vorraus,

Euer Toast

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Toast« (2. Januar 2011, 16:17)

 

Treml

Tripel-As

Dabei seit: 19.03.2003

Beiträge: 237

 

2 Zum Seitenanfang

Sonntag, 2. Januar 2011, 17:02

Existiert die Funktion initiate()? Falls nicht, musst Du den onload-Befehl auf onload="sheet()" verkürzen.

Folgende rudimentäre Testseite hat bei mir in Firefox 3.6 das richtige Ergebnis geliefert:

HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<title>Test</title>
 <script type="text/javascript">
 function initiate() {
  i = 0;
 }
 function sheet() {
	 z = document.getElementsByTagName("body")[0].style.fontSize;
	 alert(z);
 }
 </script>
</head>

<body onload="initiate();sheet()" style="font-size: 10px">

<p>Testseite</p>

</body>
</html>
i u t w w f c b - u y a s t m w m
 

Toast

Tripel-As

Dabei seit: 02.01.2011

Beiträge: 210

 

3 Zum Seitenanfang

Montag, 3. Januar 2011, 00:31

Mmmhhh... Die Funktion initiate existiert. Ich glaube, ich weiß woran der Fehler liegt. Ich habe die Schriftgröße in einem externen Stylsheet festgelegt. Wenn ich dem body, wie Du, in der html-Datei eine Schriftgröße zuweise, dann funktioniert das ganze auch.
Nun habe ich 2 Fragen.
1) Wie bekomme ich das hin, dass das auch mit dem Stylesheet funktioniert und
2) Wenn ich als Schriftgröße 100.01% angebe, dann wird mir diese (logischerweise) auch so angezeigt. Wie kriege ich das hin die exakte Pixelanzahl zu erfahren? Eventuell line-height? Oder muss ich über ein "fake"-Div die Größe des Divs bestimmen?

Schon mal Danke für Deine Hilfe,

Gruß, Toast

Edit: Problem gelöst. Ein "fake"-Div legen, was genau 1 em hoch ist, davon die offsetHeight abfragen und schon habe ich die Pixalanzahl eines em.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Toast« (3. Januar 2011, 00:31)