Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 887
  • Last Modified:

jquery animations - how to run at the same time?

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

0
SAbboushi
Asked:
SAbboushi
  • 5
  • 4
1 Solution
 
Kyle HamiltonData ScientistCommented:
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} );
0
 
SAbboushiAuthor Commented:
Thanks - but no difference...
0
 
SAbboushiAuthor 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?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Kyle HamiltonData ScientistCommented:
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.
0
 
Kyle HamiltonData ScientistCommented:
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

0
 
Kyle HamiltonData ScientistCommented:
0
 
SAbboushiAuthor Commented:
Beautiful!!!  Thank you very much!

Pros and cons of jquery vs. css3?
0
 
Kyle HamiltonData ScientistCommented:
css3 will only work in modern browsers (that excludes IE < 9), but it's more lightweight. depends what you're targeting..

cheers.
0
 
SAbboushiAuthor Commented:
k thanks--
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now