Mam takie cudo:
var ImgFader = function(FadeDelay,TimeDelay,x,aImages1,aImages2,aImages3,DOMElement,FirstTimeStart) { var FirstFader = $(DOMElement[0]); var SecondFader = $(DOMElement[1]); var ThirdFader = $(DOMElement[2]); if (x==4) { x=1; } var OldTimeDelay = TimeDelay; if (FirstTimeStart) { TimeDelay = 0; } setTimeout(function() { FirstFader.fadeOut(FadeDelay); SecondFader.fadeOut(FadeDelay); ThirdFader.fadeOut(FadeDelay); setTimeout(function() { FirstFader.css('background','url('+aImages1[x-2]+')'); SecondFader.css('background','url('+aImages2[x-2]+')'); ThirdFader.css('background','url('+aImages3[x-2]+')'); }, FadeDelay); FirstFader.fadeIn(FadeDelay); SecondFader.fadeIn(FadeDelay); ThirdFader.fadeIn(FadeDelay); x++; ImgFader(FadeDelay,OldTimeDelay,x,aImages1,aImages2,aImages3,DOMElement,false); }, TimeDelay); }; $(document).ready( function (){ ImgFader(500,5000,1,images1,images2,images3,DOMElements,true); });
i teraz jak po kodzie :
if (x==4) {
x=1;
}
wrzuce alerta, to przy każdym jednorazowym wywołaniu funkcji zamiast mi ładnie wyświetlić, że x=1 albo x=2 albo x=3, czego bym się spodziewał, ten zakichany js wali mi alertami z każdym kolejnym argumentem funkcji z którym rekurencja była wcześniej wywołana,
przez to nie mogę po tym if-ie zrobić ślicznego:
if (x == 1) {
...moje instrukcje...
}
Od razu zaznaczam, że o js mam tylko blade pojęcie - i tak - zdaję sobie sprawę, że powyżej cytowany kod jest daleki od dobrego webowego rzemieślnictwa - prosiłbym tylko osoby znające się na tym o pomoc w zrozumieniu o co chodzi - dlaczego mój x w tej funkcji wygląda tak: 123123123123 zamiast 1 lub 2 lub 3
Bo podejrzewam, że to coś nie tak z inkrementacją - bo dlaczego x które jest równe 1, zwiększone o 1 daje w wyniku 12 zamiast 2... :/ ... ?
Proszę o pomoc - z góry dziękuję
