2013-03-22 13 views

Odpowiedz

12

Można umieścić go w pojemniku i umieścić go absolutnie ?:

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

Edycja: Dlaczego to działa
Mam umieszczony pojemnik po menu i biorąc pod uwagę jej styl position:relative. Co Zakładam się menu (#test) nadano styl position:absolute co oznacza, że ​​można ją ustawić według top, right, bottom i left, w stosunku do elementu zawierającego (Pod warunkiem, że ma position inny niż domyślny stąd dajemy kontener pozycja relative). Jeśli damy elementowi top:0;left:0, górna lewa część elementu będzie przyklejać się do górnej lewej części jego rodzica, podobnie, gdybyśmy zrobili top:0;bottom:0, lewy dolny element tego elementu byłby przyklejony do lewego dolnego rogu tego elementu. Rambling, czyż nie? Podsumowując, #test jest "zablokowany" na spodzie jego rodzica, dlatego animuje się od dołu. Kolejny szybki punkt, wysokość kontenerów jest ważna! Ponieważ ustawiliśmy bezwzględne położenie, nie pchniemy kontenera do jego wysokości, więc ustawiamy wysokość, aby zapewnić, że #test ładuje 500px z wierzchu kontenera.

+1

Uderzyłeś mnie w to. Próbowałem dowiedzieć się, jak naprawić sprawę podstawową. :(http://jsfiddle.net/uWnjx/7/ Skończyło się na tym, że zrobiłem fałszywe kliknięcie na końcu, aby je naprawić – Sanchit

+0

dziękuję! Dokładnie to, czego potrzebuję, ale jedno pytanie ... naprawdę nie rozumiem, co dokładnie tam się dzieje, dlaczego to jest z tymi właściwościami działającymi od dołu do góry? czy mógłbyś mi wyjaśnić, żeby to zrozumiało dla mnie! – supersize

+1

Wysokość wzrasta zawsze w dół.Możemy ją zmusić do wzrostu w górę (wydaje się, że jej wzrost do góry), jeśli powiemy, że nie ma już więcej "down", można to osiągnąć za pomocą css z pozycjonowaniem absolutnym i powiedzmy: 'bottom: 0;' – Sanchit

Powiązane problemy