2009-11-18 3 views
0

Quand vous faitesComportement étrange de la peau/show de jquery avec l'effet 'slide'. Comment changer?

$('.mydiv').show('slide', {direction:up}, 1500); //syntax may be a little off 

jQuery semble - juste avant de commencer l'animation - faire de la place pour bientôt d'être montré div. Cela crée un effet non-lisse en faisant disparaître tous les éléments situés sous le div montré en une seule fois.

Je voudrais voir les éléments sous le div s'éloigner lorsque le div est animé/montré. La fonction native hide()/show() de jQuery fonctionne comme ceci, pourquoi l'effet diapo de hide/show ne fonctionne-t-il pas?

Quelqu'un sait comment le réparer?

+0

Est-ce que ceci est vu dans tous les navigateurs, ou juste certains d'entre eux? – Stobor

Répondre

0

Peut-être pourriez-vous essayer d'utiliser l'effet slideDown à la place? (http://docs.jquery.com/Effects/slideDown)

+0

J'ai essayé, mais ça n'anime pas comme je le veux. slideDown change la hauteur et pour moi ce n'est pas une "vraie" diapositive. Un "vrai" effet de diapositive pour moi est quand le contenu entier s'éloigne, en coupant la zone du contenu qui n'est pas censé être visible. Je suppose que c'est comme ça que se cache l'effet de diapositive. – Tommy

+0

http://docs.jquery.com/UI/Effects/Slide - 'Masque l'élément en le faisant glisser vers le bas'. Donc, je crois que cela pourrait être réalisé en utilisant la fonction animate() - créer un parent div avec débordement: caché, glisser l'enfant vers le bas (augmenter margin-top) et enfin, cacher l'élément parent? – rochal