URLs aus array "nachladen"

rernanded

Erfahrenes Mitglied
Hi

wie stelle ich es an dass meine Seiteninhalte mit den URLs aus dem var URLs-Array
alle 3 Sek. nachgeladen werden?
Moni

Dieses Script geht nicht. Wo liegt der Fehler?
HTML:
<script type="text/javascript">
var URLs = ["01.html", "02.html", "03.html"];
var currURL = 0;
currURL = (currURL + 1) % URLs.length;
       $(document).ready(function() {
      $("#refresh").load("00.html");

      var refresh = setInterval(function() {

       $("#refresh").load("currURL");
      }, 3000); 
   });
</script>

<div id="refresh" style="text-align:center;"></div>
 
Du musst das Fortschalten des Index in deiner setInterval-Funktion machen und die URL aus dem Array holen:
Code:
<script type="text/javascript">
    var URLs = ["01.html", "02.html", "03.html"];
    var currIdx = 0;
    $(document).ready(function() {
        $("#refresh").load("00.html");
        var refresh = setInterval(function() {
                currIdx = (currIdx+ 1) % URLs.length;
                $("#refresh").load(URLs[currIdx]);
            }, 3000);
   });
</script>
 
@klaus: sempervivum versteht mich ;)
@Sempervivum: Danke Dir erneut. Allerdings gibts noch ein kleines Problem: Es wird zwar die 00.html angezeigt dann aber die 02.html, d.h. die 01.html wird übersprungen, dies allerdings nur beim ersten Mal, also nach Aufruf oder neu laden der gesamten Seite auf der sich der Code befindet.
Ich habe versucht das zu lösen aber diesmal muß ich passen.
Habe auch die Ladezeit von 3000 auf 10000 hochgesetzt doch keine Änderung des Problems.

MONI
 
Setze einfach das Erhöhen des Index hinter das Laden der neuen Seite:
Code:
        var refresh = setInterval(function() {
                $("#refresh").load(URLs[currIdx]);
                currIdx = (currIdx+ 1) % URLs.length;
            }, 3000);
 
Zurück