Jens Bischoff: button soll blinken

Hi,

ich will das ein button blinkt, der funktionsaufruf funktioniert aber, er läßt die anderen Farben weg und nimmt gleich die letzte

hier mein script:

document.getElementsByName("bgestein")[0].style.backgroundColor="red";
for(i=0;i<100000;)
{
i++; ich weiß das könnte man auch in den schleifenkopf reinmachen
}
document.getElementsByName("bgestein")[0].style.backgroundColor="yellow";

er macht den button immer gleich yellow und läßt das red machen weg.

Wo liegt mein fehler??

Danke Tschü

  1. document.getElementsByName("bgestein")[0].style.backgroundColor="red";
    for(i=0;i<100000;)

    bin mir hier nicht sicher, ob das i++ im kopf nicht obnligatorisch ist, weiß ich aber nicht.

    {
    i++; ich weiß das könnte man auch in den schleifenkopf reinmachen
    }
    document.getElementsByName("bgestein")[0].style.backgroundColor="yellow";

    wahrscheinlicher ist eher, dass dein script zu schnell ausgeführt wird, versuche es mal mit setTimeout()

    Gruß

    Phil

    1. Mit dem timeout, keine schecht idee, aber geht nicht

      document.getElementsByName("bgestein")[0].style.backgroundColor = "red";

      setTimeout(60);

      document.getElementsByName("bgestein")[0].style.backgroundColor = "yellow";

      bzw. er macht alles bis auf das was nach setTimeout(60);

      1. document.getElementsByName("bgestein")[0].style.backgroundColor = "red";

        setTimeout(60);

        document.getElementsByName("bgestein")[0].style.backgroundColor = "yellow";

        setTimeout ist keine Pause an sich, du musst
        document.getElementsByName("bgestein")[0].style.backgroundColor = "red";
        setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'yellow'",60);

        schreiben ;)

        1. setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'yellow'",60);

          Das hatte ich auch gerade gesehen, als ich es mir genauer durchgelesen hatte.

          for(i=0;i<100;i++)
          {
          setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'yellow'",600);
           setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'blue'",600);
          }

          600 -> müßte eine sekunde sein, oder??

          irgendetwas scheint aber nicht zu funktionieren, der button wird mal kurz gelb dann blau und dann wars das.

          tschü

          1. Hi,

            600 -> müßte eine sekunde sein, oder??

            600 Millisekunden != 1 Sekunde, oder?! ;)

            Sag mal Jungs?! Was macht ihr hier? Basteln oder Webdesign?! *g*
            Also für blinkende Buttons nutzt doch bitte ein GIF Bild oder eine Flash Animation. Das tut ja in den Augen weh!

            Danke.

            Gruss
            Stefan

            1. Wenn er einen blinkenden Button will, kriegt er einen blinkenden Button :)

              1. Ich danke euch allen,

                geht.

                Ich wollte ja das der button nur unter bestimmten umständen blinkt, da wäre in bild nicht das richtige gewesen. :)

                Danke

                Tschü

                1. Hi,

                  Ich wollte ja das der button nur unter bestimmten umständen blinkt, da wäre in bild nicht das richtige gewesen. :)

                  und wieso nicht? wo ist das Problem, bei diesen Umständen eine Grafik durch eine andere (animierte) auszutauschen?

                  freundliche Grüße
                  Ingo

                  1. Ob ich nun eine Grafik austausche oder den Button umfärbe, kommt doch aufs gleiche.
                    Nein ich mußte kein Bildmachen was blinkt.

                    Naja ist ja auch egal, jeder hal so seinen weg.

                    Tschü

                    1. Dazu fällt mir nur ein: "Warum einfach, wenns auch umständlich geht?!"

                      Ich hab auch ein Forum mit animiertem Button für private Nachrichten. Sprich, das "Ding" blinkt wenn neue Nachrichten vorliegen, ansonsten eben nicht ;)
                      Klappt wunderbar mit PHP ;)

                      In einer Zeit in der JavaScript nicht jeder an hat, sollte man darauf nicht seine Homepage aufbauen :(

                      Gruss
                      Stefan

                      1. Morgen,

                        Klappt wunderbar mit PHP ;)

                        PHP, war in diesem speziellen fall nicht möglich.
                        Es sei denn PHP, kann hellsehen, was der nutzer vorhat.

                        Oder kann PHP auf aktionen regieren, die nicht zum Server geschickt werden?? Ich glaube nicht, oder doch??

          2. for(i=0;i<100;i++)
            {
            setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'yellow'",600);
             setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'blue'",600);
            }

            600 -> müßte eine sekunde sein, oder??

            nope, angabe in millisekunden sprich 1000 = 1 sek. für blinken ist 1 sek aber zu lange, wenns wirklich "blinken" soll ;)

            irgendetwas scheint aber nicht zu funktionieren, der button wird mal kurz gelb dann blau und dann wars das.

            ich bin mir nciht sicher, ob die for schleife auf die ausführung des Timeouts wartet, wenn die einfach durchrattert, führt er am ende 100 mal blau aus, und dann 100 mal gelb...

            wenn der button ununterbrochen blinken soll, dann machs doch einfach mit

            function machBlau() {
               document.getElementsByName('bgestein')[0].style.backgroundColor = 'yellow';
               setTimeOut("machGelb()", 500);
            }

            function machGelb() {
               document.getElementsByName('bgestein')[0].style.backgroundColor = 'blue';
               setTimeOut("machBlau()", 500);
            }

            so springt das hin und her, und ändert alle halbe sekunde die farbe...

            willst dus nur n mal blinken lassen, bau in eine der funktionen nen counter ein, der irgendwann erreicht ist, und das ganze abbricht ;)

            z.B.
            var x = 0;
            var y = 100;

            function machBlau() {
               document.getElementsByName('bgestein')[0].style.backgroundColor = 'yellow';
               if(x < y)
                   setTimeOut("machGelb()", 500);
            }

            function machGelb() {
               document.getElementsByName('bgestein')[0].style.backgroundColor = 'blue';
               x++;
               setTimeOut("machBlau()", 500);
            }

            so, jetz aber, oder?? =)

            Gruß

            Phil

          3. Danke so gehts.

            function testen()
            {
             var zeit = 0;
             for(i=0;i<=10;i++)
             {
             setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'yellow'",zeit);
             zeit=zeit+300;
             setTimeout("document.getElementsByName('bgestein')[0].style.backgroundColor = 'blue'",zeit);
             zeit=zeit+300;
             }
             document.getElementsByName('bgestein')[0].style.backgroundColor = 'grey';
            }

            Wie heißt die Standartfarbe eines buttons??

            1. #CCCCCC

              PS. in meinem letzten post war ein fehlerchen, es muss natürlich setTimeout heißen, nicht setTimeOut

            2. Hi,

              Wie heißt die Standartfarbe eines buttons??

              Falls Du die Standar_d_farbe meinen solltest: ButtonFace (siehe http://www.w3.org/TR/REC-CSS2/ui.html#system-colors)

              cu,
              Andreas

              --
              MudGuard? Siehe http://www.Mud-Guard.de/
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hi,

    ich will das ein button blinkt, der funktionsaufruf funktioniert aber, er läßt die anderen Farben weg und nimmt gleich die letzte

    Ich habe hier einen Link für dich:
    http://www.drweb.de/trickkiste/tricks198.shtml
    Da du dich mit JS ja warscheinlich auch gut auskennst dürfte es ja kein Problem sein, den noch so umzuwandeln wie du es haben willst.

    er macht den button immer gleich yellow und läßt das red machen weg.
    Wo liegt mein fehler??

    Ich verstehe den Aufbau deines Scriptes aber auch nicht wirklich. Du machst das besser mit settimeout...
    Aber egal. Schau dir den Link an, das Script kannst du hoffentlich benutzen.

    Solltest du noch Fragen haben frag.

    Ich hoffe ich konnte dir helfen, H²O