Implémenter l'effet de secousse de jQuery avec l'animation
Que j'ai été donné un coupé sous-ensemble de la lib jQuery l'une des principales caractéristiques qui me manque, c'est la .effect
fonctions. Par contre j'ai .animate
. Je me demandais si quelqu'un aurait des idées de comment je pourrais aller sur la façon de reproduire les fonctions d'animation.
Je suis particulièrement consious de faire ce que quelques lignes que j'ai besoin de garder le code de la taille vers le bas. C'est pourquoi la lib jquery est aussi petit soit-il et n'a pas les fonctions d'effets.
TLDR - je suis en train de remplacer
$("#"+id_string).effect( "shake", {}, "fast" );
Avec quelque chose à l'aide .animate
dans jQuery.
source d'informationauteur wmitchell
Vous devez vous connecter pour publier un commentaire.
Il est effectivement déjà mis en œuvre cette manière, sous les couvertures, vous pouvez voir exactement comment dans
jquery.effects.shake.js
si vous vouliez seulement la copie de cette fonctionnalité vous pouvez.Une autre approche de réfléchir: si vous utilisez plusieurs effets, je le recommande téléchargement jQuery UI avec seulement les effets que vous souhaitez. Pour cet effet, sans la copie de la fonctionnalité vous-même, vous devez simplement
jquery.effects.core.js
etjquery.effects.shake.js
.Pour l'instant j'ai quelque chose comme ça ..
Ce n'est probablement pas pertinent maintenant, mais j'ai porté jQ de l'INTERFACE utilisateur de l'effet de tremblement autonome plugin jQuery. Tous vous avez besoin est jQuery et cela fonctionnera exactement comme celui fourni dans jQ de l'INTERFACE utilisateur.
Pour ceux qui veulent utiliser l'effet sans ballonnements leur projet inutile jQ de l'INTERFACE utilisateur des fichiers core.
$('#element').shake({...});
Il peut être trouvé ici avec l'instruction: https://github.com/ninty9notout/jquery-shake
Pensait que j'allais quitter ce ici pour référence future.
J'aime @phpslightly solution tellement, j'ai continuer à l'utiliser. Donc, ici, il est mis à jour de la base de jquery plugin de formulaire qui vous permettra de revenir à votre élément
Vous pouvez alors l'utiliser comme un simple plugin:
Ou utiliser les valeurs par défaut (100, 10, 3):
C'est plus propre et lisse façon de faire de l'animation.
J'ai écrit il y a quelques temps quelques animations jquery:
https://github.com/yckart/jquery-custom-animations
Je ne comprends pas toute la complexité d'être jetés en reproduisant l'effet de tremblement avec uniquement
animate
. Voici ma solution en seulement quelques lignes.EDIT: mis à Jour le code de retour de l'élément à la position initiale. Crois toujours que c'est la plus légère et la meilleure solution à ce problème.
Ce n'est pas parfait, mais fonctionnel
@El producteur de solution, j'ai ajouté quelques multiplier la logique et la faire ressembler à un tremblement aléatoire.