Stepsel: 3 Bilder in einer Schleife ändern

Hallo ich habe eine eigentlich ziemlich dumme Frage, bekomms aber einfach nicht auf die Reihe.

Also: Ich habe 3 verschiedene Bilder und möchte, dass wenn Bild 1 zu sehen ist, bei Mausklick Bild 2 erscheint, bei erneutem Mausklick Bild 3 und dann wieder Bild 1....
Mit zwei Bildern habe ich es auch allein hinbekommen (mit if und else) aber für 3 Bilder fehlt mir einfach noch die Kenntniss. Also bitte wie für einen Anfänger erklären! Danke

  1. hi,

    Also: Ich habe 3 verschiedene Bilder und möchte, dass wenn Bild 1 zu sehen ist, bei Mausklick Bild 2 erscheint, bei erneutem Mausklick Bild 3 und dann wieder Bild 1....
    Mit zwei Bildern habe ich es auch allein hinbekommen (mit if und else) aber für 3 Bilder fehlt mir einfach noch die Kenntniss.

    wo genau siehst du da den grossen unterschied bzw. das problem?
    dann musst du deine abfrage, bei welchem bild du dich gerade befindest, eben in geeigneter weise erweitern.

    gruss,
    wahsaga

  2. Hallo!
    Eine if/else-Abfrage unterscheidet zwischen genau 2 Fälle: Trifft die Aussage zu oder nicht.

    Jetzt gibt es mit JavaScript noch eine Möglichkeit, zwischen x-beliebig-vielen Fällen zu unterscheiden (also auch zwischen 3).

    Wie das geht, liest du dir am besten hier mal durch - ist nicht schwer ;)
    http://selfhtml.teamone.de/javascript/sprache/bedingt.htm#switch

    Gruß

    1. Achja. Wollte nur anmerken, dass man if/else-Abfragen nicht "Schleife" nennt - nur um Missverständnissen vorzubeugen. Das sind "bedingte Anweisungen".

      Schleifen sind Sachen wie "for" "while" etc.

      Gruß

    2. Hallo!
      Eine if/else-Abfrage unterscheidet zwischen genau 2 Fälle: Trifft die Aussage zu oder nicht.

      Jetzt gibt es mit JavaScript noch eine Möglichkeit, zwischen x-beliebig-vielen Fällen zu unterscheiden (also auch zwischen 3).

      Wie das geht, liest du dir am besten hier mal durch - ist nicht schwer ;)
      http://selfhtml.teamone.de/javascript/sprache/bedingt.htm#switch

      Gruß

      Hey das ist sicher gut, aber ich bekomms trotzdem nicht hin *schnief*
      also hoffe ich, das du mir noch weiter helfen kannst.
      In meiner if/else Abfrage habe ich z.B. folgenden Syntax verwendet:
      <script language="JavaScript" type="text/javascript">
      <!--
      Bild1 = new Image();
      Bild1.src = "bilder/java/gaube_haus.jpg";
      Bild2 = new Image();
      Bild2.src = "bilder/java/gaube.jpg";
      var Bild = 1;
      function Bildwechsel() {
       if (Bild == 1) {
        Bild = 2;
        document.all.gaube.filters.revealTrans.Apply();
        document.all.gaube.src = Bild2.src;
        document.all.gaube.filters.revealTrans.Play();
       }
       else {
        Bild = 1;
        document.all.gaube.filters.revealTrans.Apply();
        document.all.gaube.src = Bild1.src;
        document.all.gaube.filters.revealTrans.Play();
       }
      }
      //-->
      </script>

      vielleicht könntest du mir noch einmal helfen, das "umzumodeln" und in die Form mit "switch" zu bringen. Wäre echt nett von dir

      Gruß und Dank

      1. <!--
        Bild1 = new Image();
        Bild1.src = "bilder/java/gaube_haus.jpg";
        Bild2 = new Image();
        Bild2.src = "bilder/java/gaube.jpg";

        Dir fällt nix auf, wenn du sowas siehst?
        Du hast schon mal was von Arrays gehört?

        Du willst Arrays verwenden!
        Und dort kannst du jedes Element mit dem Index ansprechen, der eine Variabel sein kann und du kannst die Anzahl völlig variabel halten, weil die Eigenschaft 'length' dir immer sagt, wieviele Elemente das Array hat.

        var Bild = 1;

        Der Index fängt dann mit 0 (null) an.

        function Bildwechsel() {
        if (Bild == 1) {
          Bild = 2;

        statt sowas machst du dann einfach:

        Bild++;
        if(Bild > Bilder_array.length) Bild = 0;

        document.all.gaube.filters.revealTrans.Apply();
          document.all.gaube.src = Bild2.src;
          document.all.gaube.filters.revealTrans.Play();

        Das das nur im IE funktioniert weißt du aber?
        Also bei ca. 10% deiner Besucher.

        vielleicht könntest du mir noch einmal helfen, das "umzumodeln" und in die Form mit "switch" zu bringen. Wäre echt nett von dir

        switch/case ist so gut wie nie nötig, außerdem ist es langsam und unnötig viel Tipperei. Fast immer bist du mit Arrays besser bedient.

        Struppi.

        1. hi,

          Das das nur im IE funktioniert weißt du aber?
          Also bei ca. 10% deiner Besucher.

          woraus du diesen wert herleiten möchtest, würde mich jetzt aber wirklich mal interessieren :-)

          gruss,
          wahsaga

          1. Das das nur im IE funktioniert weißt du aber?
            Also bei ca. 10% deiner Besucher.
            woraus du diesen wert herleiten möchtest, würde mich jetzt aber wirklich mal interessieren :-)

            hehe, pure provokation ;-)

            Struppi.

        2. Das das nur im IE funktioniert weißt du aber?
          Also bei ca. 10% deiner Besucher.

          Bei mir sind das zwar ca. 90%, aber benutzen sollte man es deshalb auch nicht...

          Das mit dem Array ist denk ich die beste Lösung. Alles zu finden in SELFHTML.

        3. Vielen Dank. Die Arrays waren der Anstoß den ich brauchte! Jetzt  funzt es prima!

          Vielen Dank Stepsel