Announcement

Collapse
No announcement yet.

Bilderwechsel/Slideshow via JS

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bilderwechsel/Slideshow via JS

    Hallo zusammen,

    eigentlich eine simple Sache, aber sie bringt mich zum verzweifeln. :/

    Ich habe ein Verzeichnis in dem Bilder liegen, diese Bilder werden via PHP in einem Array gespeichert. Aus diesen Bildern soll nun eine Slideshow gemacht werden, die Bilder sollen quasi in einer Endlosschleife nacheinander (Abstand von X Sekunden) immer und immer wieder angezeigt werden.

    Ich habe mich hieran gehalten: http://aktuell.de.selfhtml.org/artik...rslideshow.htm

    Problem ist nur, dass die Bilder einmal durchlaufen, so wie ich es auch haben will, aber sobald das letzte Bild angezeigt wurde springt es nicht wieder zum ersten und läuft erneut durch, sondern das letzte Bild wird einfach dauerhaft angezeigt.

    Wie kann ich es machen, dass die Bilder immer und immer wieder durchlaufen?

    Liebe Grüße

  • #2
    Du stellst eine Frage zu deinem eigenen Programmcode und zeigst diesen nicht mal.

    Wie sollte die Frage einer beantworten können?

    Erwartest du hier Hellseher?



    Offenbar nicht, denn dort wirt der Index wieder zurückgesetzt, was du wohl nicht machst
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Du stellst eine Frage zu deinem eigenen Programmcode und zeigst diesen nicht mal.

      Wie sollte die Frage einer beantworten können?

      Erwartest du hier Hellseher?



      Offenbar nicht, denn dort wirt der Index wieder zurückgesetzt, was du wohl nicht machst
      Hallo,

      ich bin gerade nicht zu Hause, der Quellcode ist aber der gleiche wie der gepostete, nur mit dem Unterschied, dass die Bilder nicht statisch reingeschrieben sind, sondern in einem Array gespeichert sind und dann werden die bilder mit einer foreach-Schleife eingebunden. Wenn du dir bei der geposteten Seite die Vorschau anschaust (http://aktuell.de.selfhtml.org/artik...ork/fader2.htm) wirst du sehen, dass es dort auch nicht funktioniert. Das letzte Bild wird dauerhaft angezeigt, und der Slider wird nicht erneut von vorn abgespielt.

      Liebe Grüße

      Comment


      • #4
        Dann wird wohl hier

        counter++;
        ???
        if (counter < imgs.length) {
        fade();
        }

        eine Prüfung fehlen, die den Counter auf 0 setzt,
        wenn er größer als die Anzahl der Bilder ist
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post
          Dann wird wohl hier

          counter++;
          ???
          if (counter < imgs.length) {
          fade();
          }

          eine Prüfung fehlen, die den Counter auf 0 setzt,
          wenn er größer als die Anzahl der Bilder ist

          Hallo, du meinst also einfach so?

          if (counter < imgs.length) {
          fade();
          } else {
          counter = 0;
          fade();
          }

          Comment


          • #6
            So könnte das laufen... auch wenn ich das nur in eine einfache Bedingung geschrieben hätte, um ein doppeltes fade zu vermeiden
            Christian

            Comment


            • #7
              Originally posted by Christian Marquardt View Post
              So könnte das laufen... auch wenn ich das nur in eine einfache Bedingung geschrieben hätte, um ein doppeltes fade zu vermeiden
              Ich habs gerade mal ausprobiert, funktioniert leider immernoch nicht, noch eine weitere Idee?

              Comment


              • #8
                Sicherlich geht es , wenn man

                if(counter>=imgs.length)
                {
                counter=0;
                }
                alert(counter);
                fade();


                einsetzt. Die Variable wird brav wieder von vorne anfangen zu zählen. Leider wirst du jedoch immer nur das letzte Bild sehen, weil der Trick in diesem Script darin besteht, die Durchsichtigkeit der Bilder zu verändern. Zum Start sind alle Bilder bis auf das erste durchsichtig. Mit jedem Durchlauf eines Bildes wird die Durchsichtigkeit es aktuellen Bildes dann geändert. Zum Schluß sind alle sichtbar, nur das letzte verdeckt dann alle anderen.

                Also wirst du - wenn du dieses Script verwenden willst, nicht nur den Zähler zurücksetzen müssen, sondern auch die Durchsichtigkeit (opacity) beim setzen des Counters auf 0. Dann wird es gehen

                Das ist - in meinen Augen - eine selten dämliche Lösung für eine Bildershow. Sie setzt auf opacity, einer absoluten Positionierung der Bilder, gleiche Größe der Bilder ...
                Zuletzt editiert von Christian Marquardt; 29.01.2012, 19:52.
                Christian

                Comment


                • #9
                  Welche Lösung könntest du mir dann empfehlen?

                  Comment


                  • #10
                    Ein anderes Script oder am Besten selber machen mit http://jquery.com/ mit http://api.jquery.com/fadeIn/ und http://api.jquery.com/fadeOut/
                    Zuletzt editiert von Christian Marquardt; 29.01.2012, 22:07.
                    Christian

                    Comment

                    Working...
                    X