Ho una funzione che fa lo slide di una serie di div, all'interno di un altro div contenitore.
Funziona tutto perfettamente, tranne che per una cosa:
le slide sono tre, quando clicco la prima slide, questa scompare istantaneamente; lo stesso quando clicco la seconda. Solo quando clicco la terza (e quindi ritorna a vedersi la prima) il movimento della slide in uscita è visibile. Lo slide funziona a carousel, con un loop continuo tra le slide, ma anche andando avanti ad oltranza, il movimento della slide in uscita è visibile solo quando passo dalla terza alla prima.
Perchè?![]()
Questo è il codice della funzione:
codice:function slidePict(lr) { var direction = lr; activeSlide = "#q"+currentSlide; var act_z = $(activeSlide).css("z-index"); var up = act_z; var succ = act_z + 1; var down = act_z - 1; var as_pos = $(activeSlide).position().left; if (direction == "sx") { if (currentSlide <= Math.round(nrSlide - 1)) { newSlide = "#q"+Math.round(currentSlide + 1); currentSlide = currentSlide + 1; } else { newSlide = "#q1"; currentSlide = 1; } //move to sx $(activeSlide).animate({ left: '-=1250' }, 1000, function(){ $(activeSlide).css({"left": as_pos+"px", "z-index": down}); }); } else if (direction == "dx") { if (currentSlide >= 2) { newSlide = "#q"+Math.round(currentSlide - 1); currentSlide = currentSlide - 1; } else { newSlide = "#q"+nrSlide; currentSlide = 1; } //move to dx $(activeSlide).animate({ left: '+=1250' }, 1000, function(){ $(activeSlide).css({"left": as_pos+"px", "z-index": down}); }); } $(newSlide).css({ "z-index": act_z }); }

Rispondi quotando