jQuery slideDown vs. jQuery UI .show („slajd”)
Próbuję wykorzystać wbudowaną funkcjonalność jQuery, aby utworzyć „szufladę”, która wysuwa się zza paska nawigacji, wypychając zawartość poniżej.
Jeśli używam$('#drawer').slideDown()
, treść jest wypychana z drogi, ale zawartość nie „ześlizguje się”. To bardziej wytrzeć, aby ujawnić zawartość.
Jeśli używam$('#drawer').show('slide',{direction:'up'})
, zawartość poprawnie ześlizguje się, ale cała zawartość pod elementem wyskakuje z drogi, zanim wystąpi efekt.
Czy istnieje sposób na połączenie tego, co najlepsze, aby odtworzyć efekt, którego szukam: wysuwana szuflada, która wypycha zawartość pod nią?
Zbadałem interfejs użytkownika jQuery.animate()
funkcja, ale dokumentacja jest nieprzydatna. Moje prymitywne wysiłki, by go wykorzystać, były obarczone niepowodzeniem.
I na wypadek, gdyby ktoś pytał, przepraszam, nie mogę pokazać przykładu, ale chcielibyśmy, aby działał jak wtyczka jQuery Drawer:
http://lib.metatype.jp/jquery_drawer/sample.html
Ale ta wtyczka też nie spełnia tego, czego potrzebujemy, w przeciwnym razie użyłbym tego (nie używając listy punktowanej ani zawartości AJAX). Efekt jest tym, czego chcemy.
AKTUALIZACJA: Próbowałem również tej części kodu za pomocą wtyczki jQuery Drawer, ale w ogóle nie animuje:
$('#drawer').css({ marginTop: $('#drawer').height() * -1 }).animate({ marginTop: 0 });
Aby to wyjaśnić, nazywa się to w obrębie funkcjiOpenDrawer()
to się nazywa tak:
$(document).ready(function() {
OpenDrawer();
});
Ponieważ domyślnie ładuje się podczas ładowania strony.