Cela me semble si difficile que je pense que je néglige quelque chose de simple ici. Pouvez-vous m'aider à le trouver?Comment puis-je retourner true/false à partir d'une file d'animation à l'intérieur d'une fonction click()?
Fondamentalement, la situation est ce (variables dont le nom n'a pas d'importance sont nommés avec une lettre majuscule):
$('a').filter('somecriteria').each(function() {
var self = $(this);
self.click(function() {
B.animate({ something: somevalue }, { duration: "fast", complete: function(){
return true; // <--- see notes below
}
});
return false;
});
});
Remarques: Comment puis-je laisser ce return
être le return
qui est envoyé à partir click()
pour que l'utilisateur soit redirigé vers la nouvelle page seulement après que animate() soit complètement terminé (NB: dans mon vrai code j'ai trois animate() enchaînés). Je dois faire cela parce que l'animation est coupée et la nouvelle page est chargée prématurément. L'animation n'a d'effet que lorsque return false est envoyé depuis click() jusqu'à la fin de l'animation.
J'ai essayé de capturer l'attribut href
du lien et de faire un window.location = capturedlink
au lieu de return true
. Cela fonctionne, mais si possible, je veux éviter cela parce que certaines personnes ont désactivé le changement de position pour des raisons de sécurité.
Ou y a-t-il une autre façon de garder jQuery en changeant une nouvelle URL au milieu d'une animation?
Merci beaucoup de vérifier cette question.
Andre
Je peux voir que cela devrait théoriquement fonctionner et addind une classe d'état est une astuce qui Je ne pouvais pas penser plus tôt. Mais en quelque sorte l'événement click() ne se déclenche pas. J'ai fait en sorte que la connexion soit vraiment un élément A. Merci de prendre le temps de répondre. Très appréciée! :) – andreb
Si self.click(); n'a pas fonctionné essayer self.trigger ('clic'); mais je ne pense pas que cela devrait faire la différence. Je vais essayer moi-même et voir ce qui se passe ... –
Je suppose que cela a à voir avec le fait que le soi soit le mauvais type d'objet ... c'est juste une supposition bien. J'aimerais pouvoir publier la source complète, mais je ne suis pas autorisé à le faire puisque la page n'est pas encore en ligne. 'console.debug ("% o ", self)' retourne '[un index.html]' dans Firebug. Donc, être un ensemble jQuery devrait suffire pour click() ... – andreb