Sven Brodala: Ticker funzt net unter Netscape6

Der Ticker funktionier perfekt unter dem IExplorer und unter Netscape4x aber nicht unter Netscape 6 kann mir jemand Helfen ??
Ich stelle ma den Quellcode hier rein:

<script language="JavaScript1.2" type="text/javascript">
<!--

/*   E i n s t e l l b a r e  P a r a m e t e r   */
/*   ------------------------------------------   */

var speed = 50;
var pause = 2000;
var schritt = 2;

var breite = 500;
var bgColor = '#FFFFFF';
var abLeft = 150;
var abTop = 480;

var fgColor = '#86131b';
var ftFamily = 'verdana';
var ftSize = '8pt';
var ftWeight = '540';

var Abstand = 20;

var Zeile = new Array();
var Link  = new Array();

Zeile[Zeile.length] = '+++ Do., 15. Mai 2003, 11 Uhr Uni-Demo auf dem Domplatz +++';
Link [Link.length ] = 'http://www.uni-magdeburg.de/wnews/akt_de.html';

Zeile[Zeile.length] = '+++ Ringvorlesung zur Frauen- und Geschlechterforschung +++';
Link [Link.length ] = 'http://www.uni-magdeburg.de/gleichstellungsbuero/koord/ring03.doc';

Zeile[Zeile.length] = '+++ Ringseminar War and Peace an OvG-Universität +++';
Link [Link.length ] = 'http://www-a.uni-magdeburg.de/rpoe/prmi2003/47.html';

var LinkTarget = '_blank';

/*   ------------------------------------------   */

var ns = document.layers ? true : false;
var ie = document.all ? true : false;
var n6 = document.getElementById ? true : false;

var TickerOnload = null;
var timer = null;

var ZZ = 0; // Zeilenzähler
var SZ = 0; // Spaltenzähler

var Ausgang;

var txtStart = '<table border=0 cellspacing=0 cellpadding=0 width="' + breite + '">\n' +
               '  <tr>\n' +
               '    <td>';

var txtEnde =  '    </td>\n' +
               '  </tr>\n' +
               '</table>\n';

var HTMLTab = new Array();

HTMLTab[HTMLTab.length] = '&,&';
HTMLTab[HTMLTab.length] = ' , ';
HTMLTab[HTMLTab.length] = '<,<';
HTMLTab[HTMLTab.length] = '>,>';
HTMLTab[HTMLTab.length] = '","';
HTMLTab[HTMLTab.length] = 'ä,ä';
HTMLTab[HTMLTab.length] = 'ö,ö';
HTMLTab[HTMLTab.length] = 'ü,ü';
HTMLTab[HTMLTab.length] = 'Ä,&Auml;';
HTMLTab[HTMLTab.length] = 'Ö,&Ouml;';
HTMLTab[HTMLTab.length] = 'Ü,&Uuml;';
HTMLTab[HTMLTab.length] = 'ß,ß';

if (ie || ns) {

if (window.onload)
    TickerOnload = window.onload;

window.onload = TickerInit;

document.write ('<style type="text/css">\n' +
                  '  #Hintergrund { position: absolute; left: ' + abLeft + '; top: ' + abTop + '; width: ' + breite + '; visibility: visible; z-Index: 2; }\n' +
                  '  #TickerLayer { position: absolute; left: ' + abLeft + '; top: ' + abTop + '; width: ' + breite + '; clip: rect(0px 0px 50px auto); visibility: visible; z-Index: 3; }\n' +
                  '  A.ticker     { text-decoration: none; color: ' + fgColor + '; font-family: ' + ftFamily + '; font-size: ' + ftSize + '; font-weight: ' + ftWeight + '; }\n' +
                  '  leer         { color: ' + fgColor + '; font-family: ' + ftFamily + '; font-size: ' + ftSize + '; font-weight: ' + ftWeight + '; }\n' +
                  '</style>' +
                  '<div id="Hintergrund">' + txtStart + '<a href="#" class="ticker"> </a>' + txtEnde + '</div>\n' +
                  '<div id="TickerLayer"> </div>\n');

}
function TickerInit()
{
  if (TickerOnload)
    TickerOnload();

if (ns) {
    Ausgang = document.Hintergrund.pageX + document.Hintergrund.document.width - Abstand;
    document.TickerLayer.pageX = Ausgang;
  }
  else if (ie) {
    Ausgang = document.all.Hintergrund.offsetLeft + document.all.Hintergrund.offsetWidth - Abstand;
    document.all.TickerLayer.style.left = Ausgang;
  }

timer = setInterval('doTicker()', speed);
}

function doTicker()
{

if (SZ++ == 0) {

var Text = '<font size="1"><a href="' + Link[ZZ] + '" target="' + LinkTarget + '" class="ticker">';

Text += toHTML(Zeile[ZZ]);

Text += '</a></font>';

if (ns) {
      document.TickerLayer.clip.width = 0;
      document.TickerLayer.pageX = Ausgang;
    }
    else if (ie) {
      document.all.TickerLayer.style.clip = 'rect(0px 0px 50px auto)';
      document.all.TickerLayer.style.left = Ausgang;
    }

Write(Text, 'TickerLayer');

}

if ((ns && document.TickerLayer.pageX - document.Hintergrund.pageX <= Abstand) || (ie && document.all.TickerLayer.offsetLeft - document.all.Hintergrund.offsetLeft <= Abstand)) {
    clearInterval(timer);
    timer = setTimeout('reactivate()', pause);
    return;
  }

if (ns) {
    document.TickerLayer.pageX -= schritt;
    document.TickerLayer.clip.width = schritt * (SZ + 1);
  }
  else if (ie) {
    document.all.TickerLayer.style.left = document.all.TickerLayer.offsetLeft - schritt;
    document.all.TickerLayer.style.clip = 'rect(0px ' + (schritt * (SZ + 1)) + 'px 50px 0px)';
  }

}

function reactivate()
{
  if (++ZZ == Zeile.length)
    ZZ = 0;
  SZ = 0;

timer = setInterval('doTicker()', speed);

}

function Write(Text, LayerName)
{

if (ns) {

with (document[LayerName].document) {
      open();
      write(Text);
      close();
    }

}
  else if (ie)
    document.all[LayerName].innerHTML = Text;

}

function toHTML(Text)
{
  for (var i=0; i < HTMLTab.length; i++)
    Text = Text.replace(eval('/' + HTMLTab[i].split(',')[0] + '/g'), HTMLTab[i].split(',')[1]);

return (Text);
}
//-->
</script>

  1. Hi!

    Der Ticker funktionier perfekt unter dem IExplorer und unter Netscape4x aber nicht unter Netscape 6 kann mir jemand Helfen ??

    Beschäftige dich mit mal mit http://selfhtml.teamone.de/javascript/objekte/document.htm#get_element_by_id
    Die Methode wird von allen Browsern verstanden, welche behaupten Javascript zu unterstützen und ab Baujahr 1999 sind.

    Gruß Herbalizer

    --
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    sh:( fo:) ch:? rl:( br:> n4:& ie:% mo:} va:} de:] zu:) fl:{ ss:) ls:& js:|
  2. Tag

    var ns = document.layers ? true : false;
    var ie = document.all ? true : false;
    var n6 = document.getElementById ? true : false;

    So weit, so gut ...

    if (ie || ns) {
      if (ns) {
      else if (ie) {
        if (ns) {
        else if (ie) {
      if (ns) {
      else if (ie) {
      if (ns) {
      else if (ie)

    Woher sollen die Browser, die die Bedingung für "n6" erfüllen wissen, was sie tun sollen?

    Thomas J.

    1. Das gerade ist ja das Problem !!! Was soll darein ?

      Tag

      var ns = document.layers ? true : false;
      var ie = document.all ? true : false;
      var n6 = document.getElementById ? true : false;

      So weit, so gut ...

      if (ie || ns) {
        if (ns) {
        else if (ie) {
          if (ns) {
          else if (ie) {
        if (ns) {
        else if (ie) {
        if (ns) {
        else if (ie)

      Woher sollen die Browser, die die Bedingung für "n6" erfüllen wissen, was sie tun sollen?

      Thomas J.

      1. Moin

        Deine Shift-Taste klemmt:

        Das gerade ist ja das Problem !!!

        Verlangst Du jetzt tatsächlich, daß ich Dir das Script einfach so DOM-gerecht anpasse?
        Da wirst Du Dich schon _self_ etwas mit der Materie beschäftigen müssen. Den Link hat Dir Herbalizer schon gegeben. Wenn Du an irgend einer Stelle nicht weiterkommst, darfst Du gern noch einmal fragen.

        Thomas J.

        PS: http://learn.to/quote