chociaż jestem już podchmielony, to jest szansa, że algorytm który chciałeś uzyskać mógłby zadziałąć - a jeśli nie to i tak wskażę najważniejszy błąd który tutaj nie ma prawa bytu ;] [wycinek Twojej funkcji - ale pełna funkcja gdyż chcę coś o zasięgu zmiennych napisać...]:
Kod
function () {
var ile = 6;
$('a#ok').click(function pods() {
for(i=0; i<ile; i++) {
view(i);
}
});
function view(id) {
$('div#mig img').removeClass('active');
$('div#mig img#m'+id).addClass('active');
setTimeOut('view('+id+')', 1000);
}
}
dalej w funkcji view która jest już niestety lub stety jeśli chodzi o "hermetyzację kodu" jest już funkcją prywatną nie dostępną z poziomu window... idąc dalej chcałeś zrobić rekurencje "setTimeOut('view('+id+')', 1000);".... ale eval jest zły ];-> - fakt może nie bezpośredni ale masz tam eval'a - a z eval'a dostęp do zmiennych masz z poziomu tylko window - jeśli wewnątrz funkcji poprzedzisz zmienną przez var lub funkcje zadeklarujesz wewnątrz funkcji to są "rzeczy" prywatne których nie ma w window... na szybjko na to obejście i teraz Ci nie wytłumacze gdyż o tym można by więcej napisać to przekazanie anonimowej funkcji:
setTimeOut(function(){view(id);}, 1000);
lub jeśli bedziesz ciekaw i poeksperymwntujesz to można jeszcze funkcje bez wywołania przekazywać do setTimeout lub metody obiektów [czyli funkcje] na zasadzie np.:
setTimeOut(view, 1000);
wiem - brakuje Ci parametru - poczytaj o zasięgu zmiennych to znajdziesz rozwiązanie...
ps tak dodatkowo - w js funkcje są obiektami, ale obiekty nie są funkcjami [dopiero ich metody dostępowe mogą być funkcjami] - wiem, może trochu teraz zakręciłem ale jak się zrozumie js i zasięg zmiennych to ten język staje się lekki i wygodny... a na potwierdzenie tego co napisałęm sprawdź sobie instancje obiektu i funkcji przez alert(X instanceof Object|Function); - pewniem literówkę walnał ;p - sorki ale pisz ę tylko hobbistycznie i za dużo tego dobrego "miodu" ;]