jägermeister: FOR Schleife bei einem durchlauf abbrrechen

Hallo Liebe Forennutzer,

ganz kurz:

Habe diesen Code:

  
function fotowechsel()  
{  
 for (i=1;i<=5;i++)  
 {  
 document.getElementById("grafik").src = "fotos/"+i+".jpg";  
 if (i==3) break;  
 }  
}  

In dem Ordner fotos sind 5 Bilder, also 1.jpg 2.jpg 3.jpg usw.

Habe ein Link. Wenn ich drauf klicke wird die funktion von oben ausgeführt. Allerdings führt der befehl den ganzen code aus, also bis i=5. Wie kann ich es bewerkstelligen, dass er bei i=2 einen break macht und dann bei beim klick wieder i++ macht?

Viele Grüße
jägermeister.

  1. Hi,

    Habe ein Link. Wenn ich drauf klicke wird die funktion von oben ausgeführt. Allerdings führt der befehl den ganzen code aus, also bis i=5.

    Die break-Anweisung "funzt" also nicht?

    Wie kann ich es bewerkstelligen, dass er bei i=2 einen break macht und dann bei beim klick wieder i++ macht?

    Logischer Weise nicht mit einer for-Schleife, die immer wieder bei 1 loslaueft.
    Du muesstest zumindest den Wert von i ueber die Laufzeit der Schleife hinaus erhalten, also bspw. eine globale Variable nutzen, oder es als "statische" Eigenschaft der Funktion ablegen:
    function xy() = { ... }
    xy.i = 1;

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. habe es gerade ausprobiert, klappt aber auch nicht.

      was meinst du denn mit "statische" Eigenschaft?

      gruß
      jägermeister

  2. gruss jägermeister,

    Habe diesen Code:
    ...
    In dem Ordner fotos sind 5 Bilder, also 1.jpg 2.jpg 3.jpg usw.
    ...
    Allerdings führt der befehl den ganzen code aus, also bis i=5.
    ...

    der fehler muss woanders liegen, denn Dein geposteter code bringt
    in der ausfuehrung die von ihm erwarteten ergebnisse - bitte *copy
    und paste* in die jconsole:

    function fotowechsel () {  
      
     for (i=1;i<=5;i++) {  
     //document.getElementById("grafik").src = "fotos/"+i+".jpg";  
      print("fotos/"+i+".jpg");  
      if (i==3) break;  
     }  
    }  
    print("\nfotowechsel();\n");  
    fotowechsel();  
    print("\nfotowechsel();\n");  
    fotowechsel();  
    print("\nfotowechsel();\n");  
    fotowechsel();
    

    so long - peterS. - pseliger@gmx.net

    --
    »Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
    Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
    ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]