jquery animations - how to run at the same time?

SAbboushi
SAbboushi used Ask the Experts™
on
How can I have these animations all run at the same time?  The $mask.fadeOut seems to run last regardless of the order of the commands (why is that?)

$MenuItems.stop(true,true).fadeOut(200); // sets display: none
$mask.fadeOut(200, function() { $mask.css('z-index', '0'); } );
$Toolbar.stop(true, true).animate({ backgroundColor: '#008000', height: ToolbarHeight }, 200 );

Open in new window

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Kyle HamiltonData Scientist
Most Valuable Expert 2014

Commented:
look up "queue false". You can use it on the animate() method, not sure about fadeOut.


$Toolbar.stop(true, true).animate({ backgroundColor: '#008000', height: ToolbarHeight }, {queue:false, duration: 200} );

Author

Commented:
Thanks - but no difference...

Author

Commented:
I am new to jquery but I thought I read somewhere that fadeout calls animation routine.  Is there a way to make an animation call directly to do the fadout (.animate instead of .fadeOut) so that I can also specify queue:false for the fadeout animation - and then would they both happen at the same time?
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Data Scientist
Most Valuable Expert 2014
Commented:
yes. Instead of fadeOut use animate opacity, and a callback to hide()

$MenuItems.stop(true,true).animate({opacity:0}, {
                                                        queue:false, 
                                                        duration: 200, 
                                                        complete: function() {
                                                                    $(this).hide();
                                                                    }
                                                        });   
                

$mask.stop(true,true).animate({opacity:0}, {
                                                        queue:false, 
                                                        duration: 200,
                                                        complete: function(){
                                                                    $(this).hide().css('z-index', '0');
                                                                    }
                                                        });

$Toolbar.stop(true, true).animate({ backgroundColor: '#008000', height: ToolbarHeight }, {queue:false, duration: 200} );
		

Open in new window


with a duration of 200, it'll happens so quickly, you may not even notice the animation.

Also, you can't animate background color with animate, so you'll have to do that differently. You could try css3 animations, or a color plugin.
Kyle HamiltonData Scientist
Most Valuable Expert 2014

Commented:
with css3:

$Toolbar.css({
                        '-webkit-transition': 'background-color 0.3s ease',
                        '-moz-transition': 'background-color 0.3s ease',
                        '-o-transition': 'background-color 0.3s ease',
                        '-ms-transition': 'background-color 0.3s ease',
                        'transition': 'background-color 0.3s ease'
                });                                        

                $Toolbar.css({ 'background-color': '#008000'}).stop(true, true).animate({'height': ToolbarHeight }, {queue:false, duration: 2000} );

Open in new window

Kyle HamiltonData Scientist
Most Valuable Expert 2014

Commented:

Author

Commented:
Beautiful!!!  Thank you very much!

Pros and cons of jquery vs. css3?
Kyle HamiltonData Scientist
Most Valuable Expert 2014

Commented:
css3 will only work in modern browsers (that excludes IE < 9), but it's more lightweight. depends what you're targeting..

cheers.

Author

Commented:
k thanks--

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial