web-dev-qa-db-fra.com

jquery .show ('slow') direction?

Est-il possible de changer la direction des effets $("selector").show('slow') et hide('slow') dans jQuery?

Je peux définir des directions pour d'autres effets tels que la diapositive et le clip, mais il n'y a pas d'option pour afficher ou hide('slow')

23
Moon

show() est juste une fonction arbitraire pour afficher un élément sur une page. Sans l'argument, il n'aurait même pas d'animation. Si vous voulez accéder à des animations plus élaborées et contrôler la direction dans laquelle il se fane, vous devrez utiliser .animate()

Ou utilisez une bibliothèque supplémentaire qui étend les fonctions natives de jQuery comme jQuery UI

show() sur lui-même n'a cependant aucun effet supplémentaire ..

6
sg3s

Je ne peux pas répondre directement aux commentaires sur le post de Norman Joyner (pas assez de représentants), mais je pense que vous êtes confus à propos de ce qu'est "lent". Lent n'est pas un effet comme "slide". "Lent" est la vitesse de l'effet. Vous devriez donc pouvoir spécifier

$(this).hide("slide", {direction: "right" }, "slow");

Vous ne pouvez pas mettre une direction directement sur "lent".

EDIT: Oh, je pense que je sais ce que vous demandez. L'effet par défaut sur "masquer" semble être "aveugle". Selon cela - http://docs.jquery.com/UI/Effects/Blind - les seules directions que vous pouvez spécifier en aveugle sont horizontales et verticales. L'horizontale va de droite à gauche et la verticale de bas en haut. Si vous voulez l'inverse, vous devrez utiliser animate ().

21
tandrewnichols

Il y a aussi glissement effets jquery si vous voulez simplement une direction verticale:

.slideDown() .slideUp() et .slideToggle()

Leurs paramètres et leur utilisation sont presque les mêmes que ceux de l'effet .show().

10
T30

Vous pouvez effectuer des effets spéciaux avec les fonctions .show() et hide() en utilisant jQuery UI .

Autre que cela, vous pouvez utiliser la fonction par défaut .slideUp() et .slideDown() ou spécifier une direction pour la diapositive dans jQuery UI en faisant quelque chose comme:

$(this).hide("slide", { direction: "right" }, 1000);

J'espère que ça aide.

4
Norman Joyner