格动画从底部到顶部,而不是从上到下的jQuery
问题描述:
我有一个div
触发点击功能时动画播放至其height
:格动画从底部到顶部,而不是从上到下的jQuery
$('#menu').click(function() {
$('#test').animate({
height: 'toggle'
}, 290, function() {
});
});
工作好为止。但我想从下到上对div
进行动画处理,而不像在fiddle中看到的那样。
任何解决方案?
答
你可以把它放在一个容器中,并将其定位绝对?:
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() {
});
});
编辑:为什么它的工作原理
我已经放在一个容器周围的菜单,并赋予它的风格position:relative
。我认为什么是菜单(#test
)已经给出这意味着你可以根据top
,right
,bottom
和left
它定位风格position:absolute
,相对于包含元素(只要它具有比默认position
等,因此我们给予集装箱一个relative
的位置)。如果我们给元素一个top:0;left:0
,元素的左上角将会粘到它父元素的左上角,同样,如果我们做了top:0;bottom:0
,这个元素的左下角将会粘到它父元素的左下角。 Rambling,不是吗?因此,总而言之,#test
被“卡住”在其父母的底部,因此它从底部开始动画。还有一点,容器的高度很重要!因为我们已经给出了绝对位置#test
,所以它不会将容器推到高度,所以我们设置高度以确保#test
从容器顶部加载500px。
你打败了我。我试图弄清楚如何修复基本情况。 :(http://jsfiddle.net/uWnjx/7/我最终做了一个虚假的点击结束修复它。 – Sanchit 2013-03-22 13:47:21
谢谢你!正是我需要的,但一个问题...我真的不明白它究竟是什么在那里发生了!为什么它的性质是从下到上的工作?你能给我一个律解释让我明白! – supersize 2013-03-22 13:48:45
身高总是向下增加,我们可以迫使它向上增加(使它看起来增加了如果我们告诉它没有更多的'下来',你可以去。这是通过使用绝对定位的css,并告诉它'底部:0;' – Sanchit 2013-03-22 13:50:25