Jeremy: border-right-width

Hallo!

Da mir zurzeit langweilig ist, experimentiere ich mit JavaScript/DOM und CSS rum. Dabei möchte bei einem OnMouseOver die rechte Rahmenbreite eines Objektes schrittweise vergrößern - beim OnMouseOut wieder verkleinern.
Dafür habe ich mir folgenden Code gebastelt:

<dt onmouseover="borderwidth(0,1,0);" onmouseout="borderwidth(0,0,0);">Hallo allerseits.</dt>

function borderwidth (num, what, i) {  
	if (i <= 100) {  
		if (what = 1) { document.getElementsByTagName("dt")[num].style.borderRightWidth = parseFloat(document.getElementsByTagName("dt")[num].style.borderRightWidth)	 + 1 + " em"; }  
		else { border = border - 7/100 + " em"; }  
		window.setTimeout("borderwidth (" + num + "," + what + "," + i+1 + ")", 25);  
	}  
}  

Allerdings sagt mir die Fehlerkonsole:
"Warnung: Fehler beim Verarbeiten des Wertes für 'border-right-width'.  Deklaration ignoriert.
Quelldatei: file:///G:/Documents/html/index.html
Zeile: 0"

Kann mir jemand helfen? Ich steh auf dem Schlauch.

Liebe Grüße aus Norddeutschland.

--
ie:{ fl:( br:> va:} ls:[ fo:| rl:? n4:~ ss:) de:> js:| ch:? sh:( mo:) zu:)
  1. Oh wie peinlich, da ist mir etwas Dateileichencode dazwischen gerutscht. Denkt euch den else-Teil einfach weg! ;-)

  2. Hallo!

    Die Fehlerquelle konnte ich nun aus machen: parseFloat(document.getElementsByTagName("dt")[num].style.borderRightWidth) ist NaN.

    Doch wie mache ich diesen Wert zu einer Nummer oder allgemeiner: wie inkrementiere ich den Wert eines CSS-Attributs?

    Liebe Grüße aus Norddeutschland.

    --
    ie:{ fl:( br:> va:} ls:[ fo:| rl:? n4:~ ss:) de:> js:| ch:? sh:( mo:) zu:)
    1. @@Jeremy:

      nuqneH

      Die Fehlerquelle konnte ich nun aus machen: parseFloat(document.getElementsByTagName("dt")[num].style.borderRightWidth) ist NaN.

      http://forum.de.selfhtml.org/archiv/2008/9/t176413/#m1160578 f.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
  3. Hi,

    .style.borderRightWidth = parseFloat(document.getElementsByTagName("dt")[num].style.borderRightWidth) + 1 + " em";

    Das kann niemals ein gültiger Wert werden - denn zwischen Zahl und Einheit darf nichts stehen. Auch kein Leerzeichen.

    else { border = border - 7/100 + " em"; }

    gleicher Fehler hier.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.