2013-03-22 176 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

相關問題