I have a FadeOut and FadeIn effect that happens because of a recursive
setTimeout().  I also want to have an action that lets the user pause/
stop the actions, but I am having problems with that "pause" action.

Simplified code:
var auto_fade = function() {
        fadeTo(changeTo_el);
        timer = setTimeout(auto_rotate, (settings.timeout+settings.speed));
}
var pause = function() {
        clearTimeout(timer);
}

Now I would expect for this to kill the timer and stop the auto_fade,
but it doesn't seem to.  For some reason, I need to have a
clearTimeout(timer); for each setTimeout() that is run in order to
stop the looping.  Is this normal?  What's the proper way to cancel
all setTimeout()'s associated with var timer?

Also, my fadeTo function is:
var fadeTo = function (changeTo_el) {
        $(elements[current_el]).fadeOut(settings.speed);
        $(elements[changeTo_el]).fadeIn(settings.speed);

        current_el = changeTo_el;
}

Is there a way to cancel a fadeIn?  Or skip to the end of the event?
What I would like is if someone were to hit pause, it jumps to when
the element being faded in is finished (shown at 100%).

Reply via email to