Hanna: Textfarbe in der Ausgabe eines Array

Hallo zusammen,

ich habe im head folgendes gemacht:

<script type="text/javascript">
var texter=new Array
texter[0]='Text 1';
texter[1]='Text 2';

usw.

function changer(){
   {
      num=Math.floor(20*Math.random());
      document.getElementById('text').innerHTML=texter[num];
    }
   window.setTimeout("changer()",5000);
}
</script>

läuft auch super. Nur möchte ich, die Farbe von den ausgegebenen Texten selbst bestimmen. Zurzeit ist es einheitlich schwarz, sie sollen aber einen Rotton haben. Das bekomme ich nicht hin. Weder mit Angaben im body noch innerhalb des scripts. Kann mir jemand verraten. Was ich wo eingeben muss?

Liebe Grüße Hanna

  1. @@Hanna:

    nuqneH

    num=Math.floor(20*Math.random());

    num sollte eine lokale Variable sein, keine globale! Also var davor:

    var num = Math.floor(20*Math.random());

    Oder noch besser gleich ohne:

    document.getElementById('text').innerHTML = texter[Math.floor(20 * Math.random())];

    Wo kommt die 20 her? Ist das die Anzahl der Texte in deinem Array texter? Wenn ja, sollte das auch dastehen:

    document.getElementById('text').innerHTML = texter[Math.floor(texter.length * Math.random())];

    Du willst doch nicht deine Funktion abändern müssen, wenn Texte hinzukommen oder wegfallen.

    Aus einer Funktion auf lokale Variablen außerhalb der Funktion zuzugreifen, ist wohl auch nicht state of the art.

    Zurzeit ist es einheitlich schwarz, sie sollen aber einen Rotton haben. Das bekomme ich nicht hin. Weder mit Angaben im body noch innerhalb des scripts. Kann mir jemand verraten. Was ich wo eingeben muss?

    Was: die http://de.selfhtml.org/css/eigenschaften/schrift.htm#color@title=Textfarbe. Wo: im Stylesheet.

    #text { color: #F00 }

    Qapla'

    --
    Volumen einer Pizza mit Radius z und Dicke a: pi z z a
    1. Hallo Gunnar,

      danke für Deine Tipps. Besonders die die Sache mit texter.length um nicht immer die Anzahl anpassen zu müssen ist super!

      Ja. 20 ist die Anzahl der Texte.

      Ich hatte schon im body an der Stelle wo die Texte erscheinen sollen einen Eintrag gemacht, nur wird die Farbe als schwarz dargestellt. Hier mal verkürzt:

      <td valign="top" bgcolor="#9" width="153px" height="">

      <div style="position: relative; top: 15px; left: 1px; height: 100%;">

      <font color="#C9" font size="3" face="Verdana, Arial, Helvetica, sans-serif"></font></td>

      Schöne Grüße Hanna

      1. Mahlzeit Hanna,

        Ich hatte schon im body an der Stelle wo die Texte erscheinen sollen einen Eintrag gemacht, nur wird die Farbe als schwarz dargestellt. Hier mal verkürzt:

        <td valign="top" bgcolor="#9" width="153px" height="">

        Erstens solltest Du Farbangaben (wie generell *alle* Angaben, die sich auf das reine Aussehen beziehen), *generell immer* in CSS vornehmen (in HTML haben diese *absolut nichts* zu suchen) - wie Gunnar ja auch bereits schrieb.

        Zweitens solltest Du Dich darüber informieren, wie <http://de.selfhtml.org/css/formate/wertzuweisung.htm#farben@title=gültige Farbangaben in CSS> aussehen ... :-)

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Huch schon so spät ;-)

          Hallo EKKi,

          Du und Gunnar habt bestimmt recht was CSS anbelangt. Nur ist bislang das Thema CSS einfach zu verwirrend für mich. Sorry, bin halt kein Profi und möchte nur für ne Freundin von mir einen sich verändernden Text, der in einem JS Array verbaut ist eine bestimmte Farbe zuweisen. Geht das nicht auch irgendwie ohne CSS?

          Gruß Hanna

          1. Mahlzeit Hanna,

            Sorry, bin halt kein Profi und möchte nur für ne Freundin von mir einen sich verändernden Text, der in einem JS Array verbaut ist eine bestimmte Farbe zuweisen.

            Dann tu das ... was genau funktioniert dabei nicht? Die Farbangabe wird nicht umgesetzt, der Text bleibt schwarz - richtig? Hast Du mal überprüft, ob das, was Du dort als Farbe angibst, überhaupt ein gültiger Wert für Farbangaben ist? Entsprechende Links hast Du mittlerweile von uns beiden bekommen.

            Geht das nicht auch irgendwie ohne CSS?

            Sicher geht das - es ist aber nicht empfehlenswert.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Danke für Eure Tipps. Wrde das eine oder andere sicherlich bedenken und vielleicht auch übernehmen. Gerade der Tipp mit dem texter[Math.floor(texter.length  war klasse.

              Den Rest meines Problems werde ich auch noch versuchen zu lösen.

              Schöne Grüße und eine nette Woche

              Hanna

      2. @@Hanna:

        nuqneH

        <td valign="top" bgcolor="#9" width="153px" height="">

        Verwende keine missbillgten HTML-Attribute (wie @valign und @bgcolor) für Darstellungsangaben; verwende http://de.selfhtml.org/css/index.htm@title=CSS!

        Verwende keine Tabellen zum Layouten; verwende http://de.selfhtml.org/css/index.htm@title=CSS!

        Die http://de.selfhtml.org/html/allgemein/farben.htm#hexadezimal@title=Farbangabe ist falsch.

        <div style="position: relative; top: 15px; left: 1px; height: 100%;">

        Verwende keine @style-Attribute; notiere Darstellungsangaben nicht inline, sondern im Stylesheet!

        <font color="#C9" font size="3" face="Verdana, Arial, Helvetica, sans-serif"></font></td>

        Verwende keine missbillgten HTML-Elemente (wie font) und HTML-Attribute (wie @size und @face) für Darstellungsangaben; verwende http://de.selfhtml.org/css/index.htm@title=CSS!

        Die http://de.selfhtml.org/html/allgemein/farben.htm#hexadezimal@title=Farbangabe ist falsch.

        Qapla'

        --
        Volumen einer Pizza mit Radius z und Dicke a: pi z z a
        1. Hallo Gunnar,

          <td valign="top" bgcolor="#9" width="153px" height="">
          Verwende keine missbillgten HTML-Attribute (wie @valign und @bgcolor) für Darstellungsangaben; verwende http://de.selfhtml.org/css/index.htm@title=CSS!

          ACK, und noch dazu ist "153px" kein gültiger Wert für das Attribut width, und height="" ist zumindest nicht sinnvoll.

          Ist dir das nicht mehr aufgefallen, oder hattest du das gar nicht mehr im Detail angesehen?

          So long,
           Martin

          --
          Der geistige Horizont ist der Abstand zwischen Brett und Hirn.
          1. Hallo Martin!

            Ist dir das nicht mehr aufgefallen, oder hattest du das gar nicht mehr im Detail angesehen?

            @@@@Gunnar @war @sicher @zu @sehr @aufs @Eintippen @seiner @Suchhilfe-»@« @beschäftigt :)

            @@@@@@@@Gunnar: @was @kommt @denn @als @Nächstes?

            Viele Grüße aus Frankfurt/Main,
            Patrick

            --
            _ - jenseits vom delirium - _

               Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
            Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
            1. @@Patrick Andrieu:

              nuqneH

              @@@@Gunnar @war @sicher @zu @sehr @aufs @Eintippen @seiner @Suchhilfe-»@« @beschäftigt :)

              Hier ist #selfhtml #forum, nicht #twitter.

              '@@' beschäftigt mich kein Bisschen. Im Gegenteil, ich wäre damit beschäftigt, es zu entfernen.

              '@' vor Attributen dient keiner Suche, sondern ist einfach nur XPath-Style.

              Qapla'

              --
              Volumen einer Pizza mit Radius z und Dicke a: pi z z a
              1. Hallo Gunnar!

                '@@' beschäftigt mich kein Bisschen. Im Gegenteil, ich wäre damit beschäftigt, es zu entfernen.

                @Deine @Sache... @Jedem @seine @Macke!

                '@' vor Attributen dient keiner Suche, sondern ist einfach nur XPath-Style.

                @Aber @hier @absolut @überflüssig @und @steht @nicht @so @in @SELFHTML. @Ergo: @Du @verwirrst @die @Leute @nur.

                Viele Grüße aus Frankfurt/Main,
                Patrick, hasst dieses [Alt Gr]-Fingergeknäuel

                --
                _ - jenseits vom delirium - _

                   Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
                Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
                1. Hallo Patrick,

                  Patrick, hasst dieses [Alt Gr]-Fingergeknäuel

                  hilft dir das Wissen, dass AltGr gleichbedeutend ist mit Alt+Ctrl? Dass also Alt+Ctrl+Q auch das @-Symbol erzeugt? Das verlagert immerhin das Problem von der rechten zur linken Hand ... ;-)

                  Ciao,
                   Martin

                  --
                  Alkohl ist ungesund,
                  Rauchen ist schädlich,
                  Sex ist unanständig
                  - und die Erde ist eine flache Scheibe.
                2. @@Patrick Andrieu:

                  nuqneH

                  Patrick, hasst dieses [Alt Gr]-Fingergeknäuel

                  Ich auch. Deshalb ist '@' für mich [Shift][2].

                  Qapla'

                  --
                  Volumen einer Pizza mit Radius z und Dicke a: pi z z a
          2. @@Der Martin:

            nuqneH

            ACK, und noch dazu ist "153px" kein gültiger Wert für das Attribut width, und height="" ist zumindest nicht sinnvoll.

            Ist dir das nicht mehr aufgefallen, oder hattest du das gar nicht mehr im Detail angesehen?

            Ersteres, bedingt durch letzteres. ;-)

            Es macht auch wenig Sinn, erst den Attributwert zu ändern und die Einheit zu entfernen, dann das Attribut zu entfernen und die Darstellungsangabe ins Stylesheet zu schreiben – und dort dann die Einheit zu vergessen.

            Qapla'

            --
            Volumen einer Pizza mit Radius z und Dicke a: pi z z a
      3. Hi,

        Ich hatte schon im body an der Stelle wo die Texte erscheinen sollen einen Eintrag gemacht, nur wird die Farbe als schwarz dargestellt. Hier mal verkürzt:

        <td valign="top" bgcolor="#9" width="153px" height="">

        <div style="position: relative; top: 15px; left: 1px; height: 100%;">

        <font color="#C9" font size="3" face="Verdana, Arial, Helvetica, sans-serif"></font></td>

        Wenn dieses FONT-Element innerhalb des Elementes liegt, dessen Inhalt du per Zuweisung an innerHTML komplett ersetzt, dann solltest du dich nicht wundern, dass es keine Wirkung zeigt - es ist nämlich anschliessend gar nicht mehr vorhanden.

        Dazu, wie wenig sinnvoll die Verwendung des FONT-Elements hier ist, haben die anderen schon genug gesagt.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]