Christoph Schnauß: Opera spielt nicht mit

Beitrag lesen

hallo Forum ;-)

ich habe folgendes kleines Script:

<script language="javascript" type="text/javascript">
var pause = 0;
var obj_step = false;
var obj_speed = 0.006;
var obj_X = 0;
var obj_winkel = false;
var obj_ref = false;

function positionieren(obj_name, links, oben){
 // "Browserweiche" gekürzt:
   obj_ref="document.getElementById";
    if (navigator.appName == "Opera"){
    eval(obj_ref+'["'+obj_name+'"].style.top = oben');
    eval(obj_ref+'["'+obj_name+'"].style.left = links');
    } else {
    eval(obj_ref+'("'+obj_name+'").style.top = oben');
    eval(obj_ref+'("'+obj_name+'").style.left = links');
    }
}

function bewegung() {
  positionieren("frac",obj_X,0);
  obj_X += obj_step;
  obj_X = Math.sin(obj_winkel)*300 + 400;
  obj_Y = Math.cos(obj_winkel)*250 + 280;
  positionieren("frac1", obj_X, obj_Y);
  obj_winkel += obj_speed;
  timer = window.setTimeout("bewegung();", pause);
}
</script>

Das soll eine kleine fraktale Grafik (mit dem Namen "frac") in Ellipsenform über den Bildschirm wandern lassen und tut das auch im IE und mit mozilla/Netscape. Aber mit Opera (6) bekomme ich Probleme. Einen Teil konnte ich beheben, indem in der Funktion "positionieren" für den Objektnamen (Variable "obj_name") die eckigen Klammern bei der if-Abfrage eingesetzt wurden. Aber die Funktion "bewegung" führt Opera nicht aus und gibt leider auch keinerlei Fehlerwarnung.
"frac" wird mit CSS so formatiert:

<style type="text/css">
#frac {position: absolute; top: -100; visibility: visible }
</style>

und mit einem button von der Webseite aus so aufgerufen:

<input type="button" value="Animation starten" onclick="bewegung()">

Wie bereits angeführt, machen mozilla/Netscape und Internet Explorer ohne weitere Bemerkungen mit, nur Opera kann ich nicht dazu bewegen. Daß auch Netscape 4.7x nicht mitspielen mag, ist mir wurscht. Netscape 4.7x velangt ebenfalls die eckigen Klammern, die ich mit einer weiteren if-Abfrage ins Script schreiben müßte, aber auch wenn das drinsteht, spielt er nicht mit und stellt komischerweise auf der Javascript-Konsole auch keine Fehlermeldung bereit. Übrigens mag auch der Konqueror (3) nicht mitmachen.

Hat jemand nen Hinweis, wie ich diese "kleineren" Browser dazu bewegen kann, mein Script richtig auszuführen? Mir geht es (erst einmal) nur um DOM-Fähige Browser, die "getElementById" verstehen.

Grüße aus Berlin

Christoph S.