Ankündigung

Einklappen
Keine Ankündigung bisher.

Text aus Array automatisch wechseln lassen...

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Scriptsuche Text aus Array automatisch wechseln lassen...

    Hey...

    Habe mal eine Anfängerfrage (habe nicht wirklich Ahnung von JS, bis jetzt nur Try&Error-Scripte gebastelt)...

    Ich arbeite an einer Seite (php), welche in drei Sprachen existiert. Das heißt, Texte sind nur in Form von php-Variablen/Platzhaltern vorhanden.

    Nun möchte ich gerne ein Script nutzen um folgendes zu erreichen:

    Ich habe 10 Schlagwörter und zu jedem Schlagwort eins bis fünf Bilder.
    Die Schlagwörter sind als php-Variablen angelegt, es wird also auf der deutschen/englischen/spanischen Seite der entsprechende Text erst eingefügt.
    Nun möchte ich diese Schlagwörter in ein Array einlesen und in eine beliebige Reihenfolge bringen. Dann sollen drei von diesen Schlagwörtern angezeigt werden.
    Zum Mittleren Schlagwort möchte ich zudem ein zufälliges (zugehöriges) Bild anzeigen.
    Nach einer gewissen Zeit (z.B. 15 Sekunden) soll die Liste einen Punkt weiterspringen und zu dem neuen mittleren Schlagwort soll ein Bild angezeigt werden.
    Hat jemand eine Idee, wo ich da anfangen kann, oder vielleicht schon ein fertiges Skript o.ä. zumindest für die Textausgabe!?

    Als Beispiel, es soll so aussehen...

    Seite wird geladen, es wird angezeigt:
    - Fahrrad
    - Urlaub -> Zufallsbild zum Thema "Urlaub"
    - Sport

    Nach einigen Sekunden soll es dann so aussehen
    - Urlaub
    - Sport -> Zufallsbild zum Thema "Sport"
    - Landschaften

    Wieder einige Sekunden später dann so:
    - Sport
    - Landschaften -> Zufallsbild zum Thema "Landschaften"
    - Hafen

    Das ganze soll dabei als Script lokal ausgeführt werden, also nicht beim Reload o.ä. (In php habe ich nämlich eine Lösung, aber die reicht nicht)

    Viele Grüße aus Hamburg
    milliway42

  • #2
    wo genau liegt dabei denn dein problem? du hast generell 2 Möglichkeiten, entweder du gibts dein PHP-Array einfach in Form von JS aus und lässt JS die Arbeit machen oder du holst dir per AJAX den neuen Inhalt und lässt diesen vom Server generieren.

    Kommentar


    • #3
      Ich möchte eigentlich mein Array an JS übergeben und JS die Arbeit machen lassen. Da ich aber nicht wirklich Ahnung von JS habe, weiß ich nicht, wie und wo ich das Arry übergebe und anschließen obige Ausgabe realisieren soll/kann...

      Gruß
      milliway42

      Kommentar


      • #4
        Naja du musst JS-Code unter PHP so generieren wie HTML auch, also ausgeben, alles andere macht der Browser ja.

        Google doch einfach mal nach Banner-Rotation, das ist vom Aufbau her sehr ähnlich wie das was du umsetzen willst, musst natürlich ne JS-Variante nehmen

        Kommentar


        • #5
          Ja, an die Banner hatte ich auch schon gedacht - habe auch Begriffen, wie da die Bilder ausgegeben werden... Aber, wie gebe ich nun den wechselnden Text aus?

          Gruß
          milliway42

          Kommentar


          • #6
            Zeig uns deinen Versuch

            Kommentar


            • #7
              Code:
              <script language="JavaScript">
              function erzeugeArray() {
                      this.length = erzeugeArray.arguments.length
                      for (var i = 0; i < this.length; i++) this[i+1] = erzeugeArray.arguments[i]
              }
              var banner = new erzeugeArray ("IMG_1452", "IMG_0181", "IMG_0233", "IMG_1242", "IMG_0007");
              var number = 1;
              function rotate() {
                      document.images.src = '.images/random/' + banner[number] + '.jpg';
                      number += 1;
                      if (number == 6) number = 1;
                     setTimeout("rotate()", 500);
              }
              </SCRIPT>
              
              <?php echo '<td><img name=image border=0 SRC="./images/random/IMG_1452.jpg" width="221" height="166" /></td>'; ?>
              Aber eigentlich ist es so noch nicht das, was ich möchte... (Abgesehen davon funktioniert es so auch gar nicht )

              - es ist keine beliebige Reihenfolge die jedes mal neu gemischt wird, sondern es ist immer die gleiche Reihenfolge mit dem gleichen Startbild/-text
              - ich habe keine Textausgabe
              - Es wird nur ein Bild/Text ausgegeben und nicht drei x Text und vom mittleren das Bild.

              Darum meine Frage mal in Häppchen an denen ich gerade hänge. Ich versuche da mal was zu basteln:
              1. Wie übergebe ich mein php-Array an JS?
              2. Wie springe ich zu einem zufälligen Wert des Arrays und gebe diesen, sowie die beiden folgenden Inhalte aus?

              Gruß
              milliway42

              Kommentar


              • #8
                ein Array kannst du zum Beispiel so übergeben:

                PHP-Code:
                $arr = array("eins","zwei","drei");
                echo 
                "<script type=\"text/javascript\">";
                echo 
                "var jsarr;";
                foreach(
                $arr as $key => $value){
                  echo 
                "jsarr[$key] = \"$value\";";
                }
                echo 
                "</script>"; 

                Kommentar


                • #9
                  Danke - aber ich glaube nicht, dass ich das hinbekomme, was ich da will
                  Ich habe jetzt zwar ein Array im JS, aber ich habe weder ein beliebigen Sprungpunkt ausgewählt, noch die drei Inhalte ausgegeben geschweige dann, ein zufälliges Bild zu meinem 2ten Inhalt ausgegeben.

                  Gibt es hier im Forum auch Leute, die gegen Bezahlung mir ein Skript schreiben würden, dass das kann, was ich da will?!

                  Gruß
                  milliway42

                  Kommentar


                  • #10
                    Vielleicht.

                    Themenmoderation:
                    [→] Verschoben von JavaScript, Ajax und mehr

                    Kommentar

                    Lädt...
                    X