Bjoern: DOM: style verändern will einfach nicht

hi,

ich hab da so ein tolles skript. doch leider funktioniert es nicht. der ns7 macht die dynamische änderung nicht.
hier einmal das skript:

<script language="JavaScript1.2" type="text/JavaScript"><!--
var message="Mein dynamischer Text"
var n=0
if (document.all || document.getElementById){ //MS or DOM
 document.write('<font color="yellow">')
 for (m=0;m<message.length;m++)
 document.write('<span id="neonlight">'+message.charAt(m)+'</span>')
 document.write('</font>')
} else //NS
 document.write(message)
if (document.all) //MS
 var tempref=document.all.neonlight
else if (document.getElementById) //DOM
 var tempref=document.getElementById("neonlight")
function neon(){
 if (n==0){
  for (m=0;m<message.length;m++)
  tempref[m].style.color="yellow"
 }
 //hier wird die farbe der einzelnen buchstaben bestimmt.
 tempref[n].style.color="red"
 tempref[n].style.background="yellow"
 if (n<tempref.length-1)
  n++
 else{
  n=0
  clearInterval(flashing)
  setTimeout("leglos()",1500)
  return
 }
}
function leglos(){
 if (document.all || document.getElementById) //MS or DOM
  flashing=setInterval("neon()",50)
}
leglos()
//--></script>

das skript soll einem text dynamisch die textfarbe vergeben. im MSIE funktioniert es auch bestens. den NS4 hab ich (vorerst) einmal ausgeschlossen. probleme hab ich jetzt mit DOM. leider will der NS7 nicht.
seht ihr da einen fehler im skript ? wäre froh über eure bemerkungen.

gruss und dank im voraus,
bjoern

  1. Tach,

    mit

    for (m=0;m<message.length;m++)
     document.write('<span id="neonlight">'+message.charAt(m)+'</span>')

    erzeugst Du mehrere Spans, die alle die selbe id haben.
    id-Werte müssen dokumentweit eindeutig sein, da sie sonst ja keine id(entifier) mehr sind.

    Andreas

    1. for (m=0;m<message.length;m++)
      document.write('<span id="neonlight">'+message.charAt(m)+'</span>')

      erzeugst Du mehrere Spans, die alle die selbe id haben.
      id-Werte müssen dokumentweit eindeutig sein, da sie sonst ja keine id(entifier) mehr sind.

      hi,

      sinn der mehreren 'span' mit der gleichen id war es, diese möglichst einfach anzusprechen.
      ich versuche das in einer weiteren schlaufe mit document.getElementById("neonlight")[0] und document.getElementById("neonlight")[1] usw.
      ich dachte, so etwas einmal bei selfhtml gelesen zu haben. oder ist das nur bei getElementByName oder getElementByTagName möglich ?

      bjoern

      1. hi

        ich versuche das in einer weiteren schlaufe mit document.getElementById("neonlight")[0] und document.getElementById("neonlight")[1] usw.

        das wird nichts. Daher heißt das Ding auch getElemen_tB_yId und nicht Elements

        Grüße aus Bleckede

        Kai

        1. hi

          ich versuche das in einer weiteren schlaufe mit document.getElementById("neonlight")[0] und document.getElementById("neonlight")[1] usw.

          das wird nichts. Daher heißt das Ding auch getElemen_tB_yId und nicht Elements

          Grüße aus Bleckede

          Kai

          hi,

          danke für die info. jetzt macht das ja doch noch sinn mit dem s. ich hatte es bisher nicht geschnallt, warum beim einen ein s drin steht und beim andern nicht. aber jetzt ist's klar.
          da hab ich jetzt die id unique gemacht und siehe da, es funktioniert.

          vielen dank euch beiden.

          bjoern

  2. hi

    mal eine ganz blöde Frage, wieso schreibt man eigentlich überhaupt noch document.all code? Gibt's irgendwo Horden von MSIE4-Usern, die ich noch nicht gesehen habe?!

    Grüße aus Bleckede

    Kai

    1. hi,

      mal eine ganz blöde Frage, wieso schreibt man eigentlich überhaupt noch document.all code? Gibt's irgendwo Horden von MSIE4-Usern, die ich noch nicht gesehen habe?!

      ehm, gute frage. ich hatte es bisher nur eingebaut, weil es als einziges funktionierte.

      document.all verwendet man doch aber auch beim event-handling. der IE6 ist ja scheinbar immer noch nicht in der lage ein DOM-event-handling zu interpretieren.

      daher, sicher ist sicher.

      gruss
      bjoern

    2. » hi

      mal eine ganz blöde Frage, wieso schreibt man eigentlich überhaupt noch document.all code? Gibt's irgendwo Horden von MSIE4-Usern, die ich noch nicht gesehen habe?!

      kuck mal bei www.webhits.de/deutsch/index.shtml?/deutsch/webstats.html. Da steht, daß es noch 1,3% MSIE4-User gibt, genausoviel wie die Mozilla- und Opera-User zusammen. Was würdest du sagen, wenn jemand fragt, ob es irgendwo Horden von Mozilla- und Opera-Usern gibt, die er noch nicht gesehen hat, und die er deshalb erst garnicht berücksichtigt?

      Watzmann

      1. hi

        kuck mal bei www.webhits.de/deutsch/index.shtml?/deutsch/webstats.html. Da steht, daß es noch 1,3% MSIE4-User gibt, genausoviel wie die Mozilla- und Opera-User zusammen.

        nur, dass du leider die 1,6% Netscape 6-User vergessen hast. Über den Trend muss man dann wohl auch nichts sagen.

        Grüße aus Bleckede

        Kai

        1. hi

          kuck mal bei www.webhits.de/deutsch/index.shtml?/deutsch/webstats.html. Da steht, daß es noch 1,3% MSIE4-User gibt, genausoviel wie die Mozilla- und Opera-User zusammen.

          nur, dass du leider die 1,6% Netscape 6-User vergessen hast. Über den Trend muss man dann wohl auch nichts sagen.

          Über den Trend könnte ich nicht viel sagen. Bei MSIE4 wird es langsam weniger, aber ob Mozilla&Co mehr werden, muß man erst abwarten.
          Ich verstehe nur nicht, warum du jemandem, der beides unterstützt, erzählen willst, er sollte doch besser seine Kompatibilität einschränken, weil eh nur wenige davon betroffen sind.

          Watzmann

          1. Ich verstehe nur nicht, warum du jemandem, der beides unterstützt, erzählen willst, er sollte doch besser seine Kompatibilität einschränken, weil eh nur wenige davon betroffen sind.

            hi,

            ist schon güt. ich lass es ja drinnen.

            gruss
            bjoern

          2. hi

            Ich verstehe nur nicht, warum du jemandem, der beides unterstützt, erzählen willst, er sollte doch besser seine Kompatibilität einschränken, weil eh nur wenige davon betroffen sind.

            nun, es ist weitaus wahrscheinlicher einen User mit mehr oder weniger abgedrehten Browsersettings (JS aus, Farben festgenagelt..) anzutreffen, als einem MSIE4 User. Und dementsprechend finde ich eigentlich, dass man sich das ganze Doppelgeschreibsel so langsam aber sicher sparen kann..

            Grüße aus Bleckede

            Kai

          3. Hallo Watzmann,

            Ich verstehe nur nicht, warum du jemandem, der beides unterstützt, erzählen willst, er sollte doch besser seine Kompatibilität einschränken, weil eh nur wenige davon betroffen sind.

            vielleicht möchte er auch davon ablenken, dass die Variante document.all
            von allen IE verstanden wird, sogar Opera tut so als käme er damit klar(!).

            Und dass mit document.layers der zweithäufigst benutzte Browser, bzw. der
            meistbenutzte Netscape, nämlich Nestcape 4.x, berücksichtigt ist.

            Bei CSS möchte er ja auch Netscape 4, und damit gut 12 % der Besucher,
            nicht unterstützen.

            Es ist das Prinzip der Nichtunterstützung, was immer wieder irgendwie der
            Verbreitung des Mozilla dienlich sein soll, es heiligt offenbar der Zweck
            schonmal die Mittel und so wird einfach unterstellt man könne Surfer zum
            Umsteigen und dann auch noch zum Umsteigen auf den Mozilla zwingen.

            Die Klimmzüge für Mozilla nehmen schon bizarre Formen an, bis hin zur
            Peinlichkeit.

            tDrum