2013-03-22 175 views

回答

12

你可以把它放在一个容器中,并将其定位绝对?:

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

编辑:为什么它的工作原理
我已经放在一个容器周围的菜单,并赋予它的风格position:relative。我认为什么是菜单(#test)已经给出这意味着你可以根据toprightbottomleft它定位风格position:absolute,相对于包含元素(只要它具有比默认position等,因此我们给予集装箱一个relative的位置)。如果我们给元素一个top:0;left:0,元素的左上角将会粘到它父元素的左上角,同样,如果我们做了top:0;bottom:0,这个元素的左下角将会粘到它父元素的左下角。 Rambling,不是吗?因此,总而言之,#test被“卡住”在其父母的底部,因此它从底部开始动画。还有一点,容器的高度很重要!因为我们已经给出了绝对位置#test,所以它不会将容器推到高度,所以我们设置高度以确保#test从容器顶部加载500px。

+1

你打败了我。我试图弄清楚如何修复基本情况。 :(http://jsfiddle.net/uWnjx/7/我最终做了一个虚假的点击结束修复它。 – Sanchit 2013-03-22 13:47:21

+0

谢谢你!正是我需要的,但一个问题...我真的不明白它究竟是什么在那里发生了!为什么它的性质是从下到上的工作?你能给我一个律解释让我明白! – supersize 2013-03-22 13:48:45

+1

身高总是向下增加,我们可以迫使它向上增加(使它看起来增加了如果我们告诉它没有更多的'下来',你可以去。这是通过使用绝对定位的css,并告诉它'底部:0;' – Sanchit 2013-03-22 13:50:25

相关问题