Xyleph: Opera und Border

Hallo zusammen,
ich habe auf meiner Website ein paar kleine gifs eingebaut und möchte das diese beim draufklicken einen Rahmen bekommen und beim wiederholten klicken der Rahmen wieder weggeht.
Ich hab das folgendermaßen gemacht :
den Bildern habe ich die style Eigenschaft style="border:0px solid red"
und dann habe ich eine onClick Ereignis für die Bilder die folgende Funktion aufruft :
function setBorder(id)
{
 var Obj = document.getElementById(id);
 if  (Obj.style.border == "0px solid red")
 {
  Obj.style.border = "2px solid red";
 }
 else
 {
  Obj.style.border = "0px solid red";
 }
}

So im FF klappt das auch wunderbar, aber nicht im Opera.
Ich habe rausgefunden das Opera das "red" als #ff0000 interpretiert und deshalb die if Abfrage falsch sein könnte. Ich habe also alles auf #ff0000 umgeschrieben, dann gings auch beim FF plötzlich nicht mehr, dann hab ichs noch mit rgb(255,0,0) versucht, das wollte wieder der Opera (v9.x) nicht. Ich hab noch 2 weiter Sachen versucht die dann entweder nicht bei Opera funktionierten oder bei beiden.
Gibt es da nicht eine einheitliche Lösung die alle Browser beherrschen oder erstmal nur eine Lösung die wenigstens der Opera beherrscht, dann könnte man ja zur not noch ne Browserunterscheidung einbauen.

  1. Hallo,

    function setBorder(id)
    {
    var Obj = document.getElementById(id);
    if  (Obj.style.border == "0px solid red")
    {
      Obj.style.border = "2px solid red";
    }
    else
    {
      Obj.style.border = "0px solid red";
    }
    }

    Wenn du den Rahmen des objektes Abfragst kannst du dich eben nicht darauf verlassen ne Einheitliche Schreibweise zu kriegen. Mach doch folgendes:

    function setBorder(id)
    {
     var Obj = document.getElementById(id);
     if  (Obj.rahmenAusgeblendet)
     {
      Obj.style.border = "2px solid red";
      Obj.rahmenAusgeblendet = false;
     }
     else
     {
      Obj.style.border = "0px solid red";
      Obj.rahmenAusgeblendet = true;
     }
    }

    Jonathan