roger: eine Art Refresh unter Javascript

Hallo,

mein Codesnipe lautet so.
  document.getElementById("button_zeichnen").style.backgroundColor ="red";
  document.getElementById("button_zeichnen").style.color ="white";
  document.getElementById("button_zeichnen").value ="Bitte warten"

Dieser Code steht am Anfang einiger zeichen Funktionen. Aktualisiert wird die Farbänderung aber erst am ende der Funktion....warum ??

Gibt es hier eine Art "refresh" Funktion damit jede "grafische Anweisung" sofort am Bildschirm aktualisiert wird.

Gruß
        roger

  1. Hallo.

    mein Codesnipe lautet so.

    Codesnipe? Weißt du, was eine Snipe ist? Eine Sumpfschnepfe (das ist ein Vogel). Zugegeben, die Idee ist originell …

    document.getElementById("button_zeichnen").style.backgroundColor ="red";
      document.getElementById("button_zeichnen").style.color ="white";
      document.getElementById("button_zeichnen").value ="Bitte warten"

    Dieser Code steht am Anfang einiger Zeichenfunktionen. Aktualisiert wird die Farbänderung aber erst am Ende der Funktion....warum ??

    Wenn dem tatsächlich so sein sollte, legt der Browser möglichweise schnell aufeinander folgende Änderungen zusammen.
    Eine Möglichkeit, das Neuzeichnen der Anzeige zu erzwingen, ist mir zumindest nicht bekannt und wenn überhaupt, dann gibt es sie nur browserspezifisch.
    Aber wenn du schon "Bitte warten" ausgeben musst, könntest du obigen Block und den nachfolgenden vielleicht mit setTimeout() zeitlich eine halbe oder ganze Sekunde trennen und dem Browser damit etwas Luft verschaffen.

    1. Hallo,

      erstens habe ich gestern mal die Sonne gesehen ;-)

      mein Codesnipe lautet so.
      Codesnipe? Weißt du, was eine Snipe ist? Eine Sumpfschnepfe (das ist ein Vogel). Zugegeben, die Idee ist originell …

      :-)

      noch eine Ergänzung:
      Ein einziger Aufruf von document.getElementById("button_zeichnen") sollte reichen, statt

        
      
      > >   document.getElementById("button_zeichnen").style.backgroundColor ="red";  
      > >   document.getElementById("button_zeichnen").style.color ="white";  
      > >   document.getElementById("button_zeichnen").value ="Bitte warten"  
      
      

      sollte unten angegebener Code einerseits übersichtlicher sein, andererseits dem Browser weniger Aufwand aufhalsen.

        
      // Besorge Dir eine Referenz auf das gewünschte Element  
      var element = document.getElementById("button_zeichnen");  
      // Wenn das geklappt hat (in Netscape 3 oder ähnlichen Museumsstücken wird  
      // es fehlschlagen)  
      if (element) {  
          // die Eigenschaften könnten natürlich auch nicht vorhanden sein ...  
          element.style.backgroundColor = "red";  
          element.style.color           = "white";  
          element.value                 = "Bitte warten";  
      }  
      
      

      Freundliche Grüße

      Vinzenz

    2. Hallo.

      mein Codesnipe lautet so.

      Codesnipe? Weißt du, was eine Snipe ist? Eine Sumpfschnepfe (das ist ein Vogel). Zugegeben, die Idee ist originell …

      Hallo,

      roger ist nicht mein Spitzname, und roger ist kein "deutscher Name". Ich bin zwar schon laaaaaaannnnn....ge hier, aber ich kann nach 15 Jahren Schule im Bundesstadt Georgia noch ein klein wenig "English" :-)

      Ich hoffe natürlich auch das mein "deutsch" gut ist. :-)

      gruß
           roger

  2. Hallo,

    document.getElementById("button_zeichnen").style.backgroundColor ="red";
      document.getElementById("button_zeichnen").style.color ="white";
      document.getElementById("button_zeichnen").value ="Bitte warten"

    hier wäre es praktisch, die Referenz auf den Button in einer Variablen zu speichern.

    Dieser Code steht am Anfang einiger zeichen Funktionen. Aktualisiert wird die Farbänderung aber erst am ende der Funktion....warum ??

    das Rendern beginnt erst, wenn js die Funktion beendet hat. Du musst das ganze also in mehrere Schritte aufteilen und z.B. per window.setTimeout() aufrufen.

    Gruß plan_B

    --
         *®*´¯`·.¸¸.·