J'essaie d'utiliser la fonction d'effet intégrée de jQuery pour créer un "tiroir" qui glisse derrière une barre de navigation, repoussant le contenu en dessous de la façon.jQuery slideDown vs jQuery UI .show ('slide')
Si j'utilise $('#drawer').slideDown()
, le contenu est déplacé, mais le contenu ne "glisse" pas réellement. C'est plus un effacement pour révéler le contenu. Si j'utilise $('#drawer').show('slide',{direction:'up'})
, le contenu glisse correctement, mais tout le contenu sous l'élément saute avant que l'effet ne se produise.
Existe-t-il un moyen de combiner le meilleur des deux pour reproduire l'effet que je recherche: un tiroir qui glisse, repoussant le contenu en dessous?
J'ai analysé la fonction .animate()
de jQuery UI, mais la documentation n'est pas utile. Mes efforts grossiers pour l'utiliser ont été lourd d'échec.
Et, au cas où quelqu'un demande, désolé, je ne peux pas montrer un exemple, mais nous aimerions qu'il fonctionne comme le plugin jQuery tiroir:
http://lib.metatype.jp/jquery_drawer/sample.html
Mais ce plugin ne fait pas tout à fait ce dont nous avons besoin non plus, sinon je l'utiliserais simplement (sans utiliser de liste à puces ou de contenu AJAX). L'effet là est ce que nous voulons, cependant.
MISE À JOUR: J'ai aussi essayé cette partie du code via le plug-in tiroir jQuery, mais il ne sont pas animés du tout:
$('#drawer').css({ marginTop: $('#drawer').height() * -1 }).animate({ marginTop: 0 });
Pour clarifier les choses, aussi, on appelle cela dans une fonction OpenDrawer()
que est appelé ainsi:
$(document).ready(function() {
OpenDrawer();
});
Parce que par défaut, il se chargera lorsque la page se charge.
Eh bien, ce n'est pas vraiment mon problème non plus. slideDown() fonctionne bien, mais ce n'est pas vraiment "glissant". C'est plus un effet "effacement". C'est très bien pour beaucoup de choses, mais je veux que le contenu semble glisser vers le bas, pas pour paraître "révélé". –
Ce lien que vous avez montré (http://lib.metatype.jp/jquery_drawer/sample.html) utilise animate. Je vais le poster ci-dessus. – Metropolis
C'est plus proche, mais je pense que c'est la mauvaise partie du code du tiroir jQuery. C'est pour fermer le chargeur une fois le contenu AJAX chargé. J'ai essayé d'emprunter une ligne plus tôt dans le code (voir la question modifiée), mais cela ne fonctionne pas du tout. J'ai l'impression d'être sur la bonne voie, mais ce n'est pas encore très près de fonctionner. –