I have a div which animates to its height when triggering a click function:
$('#menu').click(function() {
$('#test').animate({
height: 'toggle'
}, 290, function() {
});
});
works good so far. But I want to animate the div from bottom to top and unlike seen in this fiddle.
Any solution?
You could put it in a container and position it absolutely?:
HTML:
<a href="#" id="menu">click me for menu</a>
<div id="cont">
<div id="test"></div>
</div>
CSS:
#cont{
height:500px; width:50px; position:relative;
}
#test{
height: 500px; width: 50px; background-color: #000; display: none; position:absolute; bottom:0; left:0;
}
JavaScript:
$('#menu').click(function() {
$('#test').animate({
height: 'toggle'
}, 290, function() {
});
});
Fiddle
Edit: Why it works
I've placed a container around the menu and given it the style position:relative. What I assume to be a menu (#test) has been given the style position:absolute meaning you can position it according to top,right,bottom and left, relative to the containing element (Provided it has a position other than the default hence we give the container a relative position). If we give the element a top:0;left:0 the top left of the element would stick to the top left of it's parent, similarly, if we did top:0;bottom:0 the bottom left of this element would stick to the bottom left of it's parent. Rambling, aren't I? So, to summarize, #test is 'stuck' to the bottom of it's parent, hence it animates from the bottom. Another quick point, the containers height is important! Because we have given #test an absolute position, it won't push the container to it's height, so we set the height to ensure #test loads 500px from the top of the container.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With