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
    });
}