automatisch Array-Elemente laden
Tom1tk
- javascript
Hallo zusammen,
ich möchte ein Liste von URLs im Abstand von 5sec in nem Frameset laden.
1. Wie speichere ich am besten die URLs ab? (In nem Array???)
2. Wie kann ich dem JavaScript sagen, dass es immer nach 5sec die nächste URL aus dieser Datenbank laden soll???
Ich hab mir das so gedacht (funzt aber nicht...):
URL=new Array("http://www.meine.domain.de/hallo.html");
URL=new Array("http://www.meine.zweitedomain.de/2te.html");
.
.
.
var tt=0;
anf();
function anf()
{
if (tt!=0)
///HIER Das Array durchlaufen
for (i=0; i < URL.length; ++i)
{
parent.location.inhalt.href=URL[i];
}
tt++;
}
setTimeout("anf()", 5000);
Wo steckt mein Fehler?
Greets Tom1tk
URL=new Array("http://www.meine.domain.de/hallo.html");
URL=new Array("http://www.meine.zweitedomain.de/2te.html");
var URL = new Array("http://www.meine.erstedomain.de/1te.html", "http://www.meine.zweitedomain.de/2te.html")
for (i=0; i < URL.length; ++i)
{
parent.location.inhalt.href=URL[i];
}
mit der Schleife kommst du hier nicht zu dem gewünschten Effekt, da du die Verzögerung da so nicht reinbekommst. Meine Idee wär:
var i = 0;
function anf()
{
if(i < URL.length)
{
parent.location.inhalt.href = URL[i];
++i;
window.setTimeout("anf()", 5000);
}
}
Hi,
var i = 0;
function anf()
{
if(i < URL.length)
{
parent.location.inhalt.href = URL[i];
++i;
window.setTimeout("anf()", 5000);
}
}
Sollte nicht das
window.setTimeout("anf()", 5000);
ausserhalb der Klammern stehen? Wie wird sonst die Funktion aufgerufen?
Greets Tom1tk
Sollte nicht das
window.setTimeout("anf()", 5000);
ausserhalb der Klammern stehen? Wie wird sonst die Funktion aufgerufen?
Jap, natürlich, mein Fehler!
Nochmals ich,
ich dreh gleich am Rad.
var URL=new Array("http://www.google.de","http://www.fireball.de","http://www.google.de","http://www.fireball.de","http://www.google.de","http://www.fireball.de","http://www.google.de","http://www.fireball.de","http://www.google.de");
var i=0;
anf();
function anf()
{
if(i < URL.length){
//parent.inhalt.location.href=domain+URL[i];
//Zum Debuggen:
document.write(domain+URL[i]);
i++;
setTimeout("anf()", 3000);
}
}
//setTimeout("anf()", 3000);
Das Script schaltet den ersten, dann den Zweiten, dann Fehler....
Ideen??
Wie ist das mit "http://" als String? Nimmt der die zwei // als Kommentar?
Greets Tom1tk
Nachtrag:
Ich habe gerade festgestellt, dass nach dem ersten Laden der Seite nur noch "1" im Quelltext steht und dass logischerweise dann auch keine Funktion anf() mehr da ist. Aber wo ist die hin?? JS überschreibt doch keine HTML-Quelltexte, oder?
Greets Tom1tk
Das Script schaltet den ersten, dann den Zweiten, dann Fehler....
Ideen??
Hm, ehrlich gesagt muss ich da passen, bin auch nicht so der JS-Experte... :) Irgendwie hängt das wohl damit zusammen, dass das "i" und "setTimeout" nicht zusammenspielen, was ich nicht verstehe, da i ja eine globale Variable ist. Testet man das ganze nicht mit document.write() sondern alert() funktionierts übrigens... Aber vielleicht kann dir einer der Experten hier helfen?