Christian Huff: "Kleinere" Schwierigkeiten in Netscape

Beitrag lesen

Hallo! Ich hab folgendes seltsames Problem, es dreht sich um folgendes Objekt:

<DIV CLASS="fliege" ID="drache">
<img src="dragon_rechts.gif" name="flatter">
</DIV>

welches per CSS so definiert ist:
.fliege {position:absolute; top:150; left:2; height:40; width:50; z-index:0; visibility:visible;}

So weit, so gut, wird auch von IE und NN richtig interpretiert... Jetzt soll diese DIV über den Bildschirm wandern, und nachdem es ein Maximum erreicht hat, umdrehen und seine SRC ändern. Aus dem Grund hab ich in JavaScript folgende Functionen geschrieben:

n=1; //das ist der Startwert der X-Koodinate //
da = screen.availWidth - 229; //das ganze findet in einem Frame statt, deshalb Abzug eines Werts//
direk = 1; //das ist die Startrichtung //
browser=navigator.appName;

flatterrechts=new Image();
flatterlinks=new Image();

flatterrechts.src="dragon_rechts.gif";
flatterlinks.src="dragon_links.gif";

function main()
{ if (browser=='Microsoft Internet Explorer')
{
  document.all.drache.style.left = n;
  richtung();
}
else
{
  document.drache.left = n;
  richtung();
}
}

function richtung()
{

if (n>da)
  {
  direk=-1;
  links('flatter')
  }
  if (n<-50)
  {
  direk=1;
  rechts('flatter')
  }
  bewege(n+direk)
}
function bewege(m)
{ if (browser=='Microsoft Internet Explorer')
{
  document.all.drache.style.left = m;
  n = m;
  window.setTimeout("richtung()",50);
}
else
{
  document.drache.left = m;
  n = m;
  window.setTimeout("richtung()",50)
}
}
function links(bild)
{
  linksbild = eval(bild + "links.src");
  document[bild].src = linksbild;
}

function rechts(bild)
{
  rechtsbild = eval(bild + "rechts.src");
  document[bild].src = rechtsbild;
}

Dieser Quelltext führt im Internet Explorer 5 zu korrekter Darstellung, nur im Netscape 4.6 weigert sich das Bild zu wechseln, und hält wegen JavaScriptError auch noch gleich an...

Die Funktionen 'rechts(bild)' und 'links(bild)' funktionieren aber im Netscape, solange das zu wechselde Bild nicht in einer DIV ist...

Ist das eine Schikane von Netscape und muß ich damit leben, oder geht das irgendwie anders? Ich weiß, daß ich <layer> verwenden könnte, was ich aber nicht will!

Unter dem Link kann man sich das ganze mal anschauen...

Christian Huff