mephisto: Bildquelle zeitverzögert ändern

Hallo,

ich möchte, bzw. mein Auftraggeber möchte, dass ein Gesicht auf der Startseite 5x zwinkert. Ich habe einmal das Bild normal, und einmal als Zwinkern.
Ich würde demnach 3000ms lang das normale Gesicht zeigen, dann 300ms das zwinkernde. Darauf folgt wieder das normale Gesicht, das wieder 3000ms bleibt und 300ms zwinkert.
Diese Werte kann ich ja immer noch abändern, wenn es noch nicht gut aussehen sollte.

Diesen Code habe ich bisher. Nach ungefähr 5 Sekunden zwinkert das Gesicht einmal, und bleibt so. Irgendwas mache ich falsch, ich komme aber nicht drauf:

~~~html <div id="seite">
  <img id="logo" src="bilder/sadf logo_transparent.png">
 </div>

  
  
 `<script type="text/javascript">`{:.language-html}~~~javascript
  
  function logo(a)  
  {  
    if(a==1)  
     document.getElementById("logo").src="bilder/sadf logo_transparent_zwinker.png";  
    else  
     document.getElementById("logo").src="bilder/sadf logo_transparent.png";  
  }  
  
  
  for(var a=0; a<=5; a++)  
  {  
   window.setTimeout("logo(1)", 3000);  
   window.setTimeout("logo(0)", 300);  
  }  
  
  
 
~~~`</script>`{:.language-html}  
  
Lieben Gruß  
mephisto
  1. Huhu,

    <script type="text/javascript">~~~javascript

    for(var a=0; a<=5; a++)
      {
       window.setTimeout("logo(1)", 3000);
       window.setTimeout("logo(0)", 300);
      }

      
    Ich würde sagen: das ist der Fehler. Hier setzt Du fünf mal hintereinander die beiden Timeouts. Alle fünf Vorgänge passieren aber nur wenige Millisekunden nach dem Laden der Seite, und werden dann eben alle 300 bzw. 3000 ms nach dem Laden ausgeführt. Was Du vielmehr willst, ist es, einen neuen Timeout in logo() zu setzen, der dann auch erst soundsoviele Millisekunden nach deren Aufruf in Kraft tritt. Und dann musst Du halt noch mitzählen.  
      
    Gruss, Jannis.
    
  2. ich möchte, bzw. mein Auftraggeber möchte, dass ein Gesicht auf der Startseite 5x zwinkert. Ich habe einmal das Bild normal, und einmal als Zwinkern.

    Falscher Ansatz!
    Es gibt 100te freie Tools für animierte GIF-Bilder, damit hast du ein Bild dass nach x Sekunden zwinkert, wie oft du willst (unendlich auch möglich).

    Ich denke DAS wäre die perfekte Lösung und vor allem ohne JS.

    1. Ich denke DAS wäre die perfekte Lösung und vor allem ohne JS.

      Ich denke nicht. Denn die beiden Bilder sind PNGs mit Hintergrund-Transparenz.

      1. Ich denke nicht. Denn die beiden Bilder sind PNGs mit Hintergrund-Transparenz.

        Okay, informiere dich über das Format "GIF", denn GIFs unterstützen ebenso Hintergrund-Transparenz, haben aber den riesen Vorteil dass auch der IE6 diese mit Transparenz darstellen kann, im Gegensatz zu PNG!

        1. Hallo,

          Ich denke nicht. Denn die beiden Bilder sind PNGs mit Hintergrund-Transparenz.
          Okay, informiere dich über das Format "GIF", denn GIFs unterstützen ebenso Hintergrund-Transparenz, haben aber den riesen Vorteil dass auch der IE6 diese mit Transparenz darstellen kann, im Gegensatz zu PNG!

          damit hier keine Missverständnisse aufkommen: Der IE6 (und älter) kann auch bei PNG genau in demselben Maß mit Transparenz umgehen wie bei GIF. Nämlich bei palettenbasierten Bildern mit maximal 256 Farben, von denen genau eine volltransparent ist.
          Nur mit Teiltransparenz (Alphatransparenz) haben diese Veteranen Probleme.

          So long,
           Martin

          --
          Ich wollt', ich wär ein Teppich.
          Dann könnte ich morgens liegenbleiben.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. damit hier keine Missverständnisse aufkommen: Der IE6 (und älter) kann auch bei PNG genau in demselben Maß mit Transparenz umgehen wie bei GIF. Nämlich bei palettenbasierten Bildern mit maximal 256 Farben, von denen genau eine volltransparent ist.
            Nur mit Teiltransparenz (Alphatransparenz) haben diese Veteranen Probleme.

            Okay, einverstanden :)
            Bin aber trotzdem der Meinung das hier ein GIF-Animator die bessere Wahl wäre, und vor allem Barrierefreier.