Hallo,
setTimeout(Bilderschleife( bild1,bild2),10000);
setTimeout erwartet eine Funktion (ein Funktionsobjekt).
Hier übergibst du setTimeout allerdings den Rückgabe des Funktionsaufrufs Bilderschleife(…). Das ist allem anscheind nach undefined (die Funktion hat keinen Rückgabewert).
Hier wird also letztlich setTimeout(undefined, 10000);
ausgeführt – das hat natürlich keine Wirkung.
Entweder kannst du eine anonyme Funktion übergeben:
setTimeout(function() {
Bilderschleife(bild1, bild2);
}, 10000);
Oder du erzeugst eine neue Funktion mit Function#bind(), die das Original mit vordefinierten Parametern aufruft:
setTimeout(Bilderschleife.bind(undefined, bild1, bild2), 10000);
Das geht in neueren Browsern (ECMAScript 5) und das Konzept nennt sich Currying in der funktionalen Programmierung.
Mathias