J'ai ce bit de javascript écrit avec jQuery 1.2.5. Il est contenu dans la fonction principale() d'un plugin que j'ai écrit. Le plugin est un scroller de galerie horizontale très similaire à jCousel. Il fait beaucoup de calcul automatique des largeurs et détermine combien de faire défiler en fonction de cela et la taille des images, ce qui est ce que tous les calculs sont en cours.jQuery onClick exécution
Quelle est ma question, comment puis-je empêcher cela de se déclencher avant qu'une exécution précédente soit terminée. Par exemple, si je reçois un petit clic heureux et juste frénétiquement réduire sur .digi_next
. Les choses ne vont pas si bien dans l'interface utilisateur quand cela arrive et je voudrais y remédier :) Je pensais que la réponse pourrait se trouver dans queue
, mais toutes mes tentatives pour l'utiliser n'ont rien donné de valable.
var self = this;
$(".digi_next", this.container).click(function(){
var curLeft = $(".digi_container", self.container).css("left").split("px")[0];
var newLeft = (curLeft*1) - (self.containerPad + self.containerWidth) * self.show_photos;
if (newLeft < ((self.digi_gal_width - (self.containerPad + self.containerWidth) * self.show_photos)) * -1) {
newLeft = ((self.digi_gal_width - (self.containerPad + self.containerWidth) * self.show_photos)) * -1;
}
$(".digi_container", self.container).animate({
left: newLeft + "px"
}, self.rotateSpeed);
});
Merci!
note côté : je recommande fortement jQuery v1.2.6 depuis la version 1.2.5 a été mutilé et 1.2.6 a corrigé des bugs importants –
Je vais regarder dans, merci. J'utilisais simplement 1.2.5 parce que c'est dans notre solution et que je n'ai pas vraiment le pouvoir de le changer, mais je sais qui fait ...>.> –