Christian Sturm: Javascript , ich versteh es nicht :)

Bitte sagt mir mal warum es nicht funktioniert.
Ich bin mit Javascript noch etwas wackelig,
und daher würde ich gern wissen wo der Haken liegt...

Lieber Gruß
Chris

<HTML>
<HEAD>

<script type="text/JavaScript">

function randomise(uebergabe){

for(var zaehler=0;zaehler<=(uebergabe.length-1);time++){

buchstabe=charAt(time);
farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;

if (farbcode="1") {
farbe="#00AAFF";
}

if (farbcode="2") {
farbe="#00FFAA";
}

if (farbcode="3") {
farbe="#FFAA00";
}

ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('Ich bin bunt');">
</body>
</html>

  1. Moin

    for(var zaehler=0;zaehler<=(uebergabe.length-1);time++){

    was ist time? Steht das in einer Beziehung zu zaehler?

    Gruß
    rfb

    --
    Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
    (Galileo Galilei)
    1. Hast recht, das war nen bug... aber funktionieren tut es immernoch nicht... :(

      Hier nochmal der aktuelle Stand:

      <HTML>
      <HEAD>

      <script type="text/JavaScript">

      function randomise(uebergabe){

      for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){

      buchstabe=charAt(time);
      farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;

      if (farbcode="1") {
      farbe="#00AAFF";
      }

      if (farbcode="2") {
      farbe="#00FFAA";
      }

      if (farbcode="3") {
      farbe="#FFAA00";
      }

      ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
      }
      alert(ausgabestring);
      }
      </script>
      </head>
      <body onload="JavaScript:randomise('hallo');">

      1. Hallo!

        if (farbcode="1") {
        if (farbcode="2") {
        if (farbcode="3") {

        Achte auf die Anzahl deiner Gleichheitszeichen :) Du weist in deinem Code der Variablen farbcode jeweils einen Wert zu. Du willst ihn aber vergleichen.

        ciao, ww

        --
        Schäuble:
          "Wir können alles. Außer Rechtsstaat."
        1. Ja, ok... das leuchtet ein....

          ich bin mir nicht sicher mit der Anwendung von var....
          Wann braucht man var, und wann nicht?

          Aktuelle Variante des Havariescripts: :)

          <HTML>
          <HEAD>

          <script type="text/JavaScript">

          function randomise(uebergabe){

          for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){

          var buchstabe=charAt(zaehler);
          var farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;

          if (farbcode=="1") {
          farbe="#00AAFF";
          }

          if (farbcode=="2") {
          farbe="#00FFAA";
          }

          if (farbcode=="3") {
          farbe="#FFAA00";
          }

          var ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
          }
          alert(ausgabestring);
          }
          </script>
          </head>
          <body onload="JavaScript:randomise('hallo');">

          1. Moin

            var ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';

            hier deklarierst du eine neue Variable, wenn du ihr einen Wert zuweisen willst dann mit = denn += setzt voraus,d as vorher schon etwas darin enthalten ist.

            Gruß
            rfb

            --
            Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
            (Galileo Galilei)
            1. Wäre dieser Ansatz strukturell richtig?
              PS: IE meint Object expected... *grummel* :)

              Wie bzw. wo liegt denn nun der Fehler? *voll ungeduldig bin*

              Aktuelle Katastrophe:

              <HTML>
              <HEAD>

              <script type="text/JavaScript">

              function randomise(uebergabe){

              var ausgabestring=" ";
              var buchstabe;
              var zaehler;
              var farbcode;

              for(zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){

              buchstabe=charAt(zaehler);
              farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;

              if (farbcode=="1") {
              farbe="#00AAFF";
              }

              if (farbcode=="2") {
              farbe="#00FFAA";
              }

              if (farbcode=="3") {
              farbe="#FFAA00";
              }

              ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
              }

              alert(ausgabestring);
              }
              </script>
              </head>
              <body onload="JavaScript:randomise('hallo');">

              1. Moin

                Wie bzw. wo liegt denn nun der Fehler? *voll ungeduldig bin*

                buchstabe=charAt(zaehler);

                wovon suchst du das soundsovielte Zeichen?
                Das steht hier nicht, woher soll der JavaScript-Interpreter das wissen.

                Gruß
                rfb

                --
                Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
                (Galileo Galilei)
                1. Auweia... bin ich durch... habe die Nacht durchgearbeitet.... sollte meine Fragen wohl eher im ausgeschlafenen Zustand stellen... *g*

                  Lieber Gruß
                  Chris

                  1. Vielen Dank für Deine Hilfe!

                    Lieber Gruß
                    Chris

                    Das Ergebnis für alle die es auch lernen wollen:

                    <HTML>
                    <HEAD>

                    <script type="text/JavaScript">

                    function randomise(uebergabe){

                    for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){

                    var buchstabe=charAt(zaehler);
                    var farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;

                    if (farbcode=="1") {
                    farbe="#00AAFF";
                    }

                    if (farbcode=="2") {
                    farbe="#00FFAA";
                    }

                    if (farbcode=="3") {
                    farbe="#FFAA00";
                    }

                    var ausgabestring='<font color="'+farbe+'">'+buchstabe+'</font>';
                    }
                    alert(ausgabestring);
                    }
                    </script>
                    </head>
                    <body onload="JavaScript:randomise('hallo');">

                    1. und halt korrigiert:

                      <HTML>
                      <HEAD>

                      <script type="text/JavaScript">

                      function randomise(uebergabe){

                      var ausgabestring=" ";
                      var buchstabe;
                      var zaehler;
                      var farbcode;

                      for(zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){

                      buchstabe=uebergabe.charAt(zaehler);
                      farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;

                      if (farbcode=="1") {
                      farbe="#00AAFF";
                      }

                      if (farbcode=="2") {
                      farbe="#00FFAA";
                      }

                      if (farbcode=="3") {
                      farbe="#FFAA00";
                      }

                      ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
                      }

                      alert(ausgabestring);
                      }
                      </script>
                      </head>
                      <body onload="JavaScript:randomise('hallo');">

                      1. Lieber Christian,

                        ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';

                        dieser <font>-Mist ist wirklich Müll! Glaub' es halt! Besser so:

                        ausgabestring += '<span style="color:' + farbe + '">' + buchstabe + '<\/span>';

                        alert(ausgabestring);

                        Das willst Du später in der endgültigen Version aber nicht mehr, oder?

                        <body onload="JavaScript:randomise('hallo');">

                        Bitte, bitte schmeiß dieses "JavaScript:" aus dem Eventhandler raus! Das nimmt man bei Verweisen als Pseudoprotokoll, aber nicht in Eventhandlern.

                        Liebe Grüße aus Ellwangen,

                        Felix Riesterer.

                        --
                        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
                        1. Vielen Dank!!!!

                          Solche unterstützung ist cool!!!!!

                          Was mir noch aufgefallen ist, das der IE7 bei einem Reload
                          die Farben beibehält...

                          Gibts da noch eine Idee zu? Dann wäre es Perfekt!

                          Lieber Gruß
                          Chris

      2. Moin

        buchstabe=charAt(time);

        und hier!

        Gruß
        rfb

        --
        Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
        (Galileo Galilei)
    2. Ja unten mußte natürlich auch noch geändert werden...

      aber immernoch kein Erbebnis! :(

      <HTML>
      <HEAD>

      <script type="text/JavaScript">

      function randomise(uebergabe){

      for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){

      buchstabe=charAt(zaehler);
      farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;

      if (farbcode="1") {
      farbe="#00AAFF";
      }

      if (farbcode="2") {
      farbe="#00FFAA";
      }

      if (farbcode="3") {
      farbe="#FFAA00";
      }

      ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
      }
      alert(ausgabestring);
      }
      </script>
      </head>
      <body onload="JavaScript:randomise('hallo');">

  2. Lieber Christian,

    was ich nicht verstehe ist, warum Du nicht in Deinem alten Thread geblieben bist...

    ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';

    Du fummelst ja noch immer mit diesem veralteten Quatsch rum! Warum tust Du das trotz meines Hinweises?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)