Reputation: 15965
I have the following script which works well:
$(that).parents(".portlet").fadeOut('slow', function() {
$(that).parents(".portlet").remove();
});
It just fades out the element, then removes it totally from the screen.
I want to slightly improve the effect by sliding it up while it is fading out. How would I do that?
Just to clarify, I don't want it to fade out THEN slide up, or slide up THEN fade out, I would like it to fade out, AND at the same time while it is fading out, I would like it to slide up.
Upvotes: 11
Views: 19291
Reputation: 143
To avoid jumping-effect do not forget about the padding & margin. The jQuery-Team does not use property 0. Instead they are using the values 'hide' & 'show'. e.g.
$('#elementId').animate({
opacity: 'hide', // animate slideUp
margin: 'hide',
padding: 'hide',
height: 'hide' // animate fadeOut
}, 'slow', 'linear', function() {
$(this).remove();
});
Upvotes: 1
Reputation: 43823
With jQuery .animate()
, you can manipulate many properties at once - see demo
Upvotes: 1
Reputation: 2233
You can use .animate().
$(that).parents(".portlet").animate({
opacity: 0,
height: 0
}, 'slow', 'linear', function() {
$(that).parents(".portlet").remove();
});
Upvotes: 0
Reputation: 5279
you can use .animate function of jquery
you can set as many animations as you want.
pass opacity as the parameter & also slideUp as the parameter
api.jquery.com/animate/
Upvotes: 0
Reputation: 4773
what about:
$('#clickme').click(function() {
$('#book').animate({
opacity: 0,
height: '0'
}, 5000, function() {
// Animation complete.
});
});
will go to opacque 0 and height 0.
Learn more here: http://api.jquery.com/animate/
Upvotes: 4
Reputation: 45589
$(that)
.parents(".portlet")
.animate({height: 0, opacity: 0}, 'slow', function() {
$(this).remove();
});
Upvotes: 17