Saadat: Ticker unter Netscape relativ positionieren

Hallo allerseits,

kann mir jemand bei folgendem Probelem helfen. Ich möchte einen animierten Ticker (Beispiel unten) relativ zu der Ebene, in der er steht positionieren. Das untenstehende Beispiel geht unter MSIE problemlos, aber unter Netscape nicht, weil der Ticker einfach verschwindet. Wenn ich ihn außerhalb der Ebenen definiere, wird er unter Netscape wieder sichtbar.

Woran liegt das bloß?

----------------------------------------------------------------
                            BEISPIEL:
----------------------------------------------------------------

<html>

<head>

<title>Text Ticker</title>
<style>
#page { width: 200px; position:absolute; left:200px; top: 200px;background: #E6E6E6;}
#news { background: #cccccc;  font-size:11px; padding-top: 6px; padding-left: 6px;}
#ticker { color:#333333; background: #CCCCCC; font-size:10px; font-weight: bold;}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<script language="javascript">
<!--

var warte=20;
var naechste=0;

var msg=new Array
(
'Nachricht Nr. 1',
'Nachricht Nr. 2',
'Nachricht Nr. 3',
'Nachricht Nr. 4'
);

function start_ticker()
{
show_ticker(msg[0], 0, 1);
}

function show_ticker(text, pos, dir)
{
var out='<em id=ticker>'+text.substring(0, pos)+'</em>';
if(navigator.appName=="Netscape"){
  with(document.tickerNS.document)
  {
   open(); write(out); close();
  }
  }
else
  tickerIE.innerHTML=out;

pos+=dir;  

if(pos>text.length)  

setTimeout('show_ticker("'+text+'",'+pos+','+(-dir)+')', warte*100);
else
{
  if(pos<0)
  {
   if(++naechste>=msg.length)
    naechste=0;
   text=msg[naechste];
   dir=-dir;
  }

setTimeout('show_ticker("'+text+'",'+pos+','+dir+')', warte*1);
}
}
// -->
</script>
</head>
<body onload="start_ticker()">

<div id="page">
    Hier ist die Mainpage
<div id="news">
     Hier sind die News
  <script>
   if (document.all) document.write('<div id="tickerIE"></div>');
   if (document.layers) document.write('<layer id="tickerNS"></layer>');
  </script>
</div>
</div>

<br>

</body>

</html>

------------------------------------------------------------------
Danke im Voraus!

Saadat

  1. Hallo,

    Das untenstehende Beispiel geht unter MSIE problemlos, aber unter Netscape nicht, weil der Ticker einfach verschwindet. Wenn ich ihn außerhalb der Ebenen definiere, wird er unter Netscape wieder sichtbar.

    Woran liegt das bloß?

    »»  #page { width: 200px; position:absolute; left:200px; top: 200px;background: #E6E6E6;}

    hier wird der Div page für den NN zum Layer, dein Layer tickerNS ist damit innerhalb eines anderen Layers positioniert. Da der NN jeden Layer als ein eigenes Dokument ansieht, mußt du ihn auch entsprechend ansprechen:

    also statt:

    with(document.tickerNS.document)

    with(document.page.document.tickerNS.document)

    verwenden.

    Viele Grüße

    Antje