I think that what you need is a callback function. Something like
this:

$('#old_stuff').fadeOut('slow', function() {
  $('#new_stuff').fadeIn('slow');
});

Now #new_stuff appears only after #old_stuff faded out. I hope it's
clear enough.

--
Bohdan Ganicky

On Dec 30, 4:38 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> Every time I try to do this, I am frustrated. It's the first thing I
> tried to chain in jQuery. I try it again from time to time, because I
> really want it to work.
>
> $("#messages").fadeIn("slow").html("<p>New message.<\/
> p>").fadeOut("slow");
>
> What I want is for the old message to fade out, then the new message
> gets put into the message area, then the new message fades in.
>
> It doesn't matter how I order the chaining, I can never get the effect
> I want.
>
> First, what is the proper order to chain the effects? Am I supposed to
> think right-to-left, or what?
>
> Second, shouldn't I be able to add a parameter to the effect that says
> to block the next step in the chain until the current effect is done?

Reply via email to