2010-09-17 6 views
0
$(next).click(function(event) { 
    event.preventDefault(); 

    if(parseInt($(container).css('left')) <= (-(container_width-offset))) { 
     $(container).animate({ 
       queue:false, 
       left: "0px" 
      }, speed, function() { 

      }); 

    } else { 
     $(container).animate({ 
       queue:false, 
       left: "-="+offset+"px" 
     }, speed, function() { }); 
    } 
}); 

Le code précédent anime une série de divs flottantes à faire glisser de gauche à droite. Tout fonctionne bien sauf quand quelqu'un clique sur la souris trop vite, la mise à jour ne css pas assez rapide et parfois il roulera à une div vide parce que cette ligne n'enregistre pas assez rapide: parseInt($(container).css('left')) <= (-(container_width-offset))jQuery mouse file/css change problem

Comment puis-je corriger ce?

Répondre

1

ajouter cette ligne

if($(this).is(":animated")) return; 

(après event.preventDefault();)

+0

, qui est magnifique. Qu'est-ce que ça fait? – kylex

+0

il quitte la fonction si l'élément est "animé", ce qui signifie qu'il est actuellement en mouvement/fondu/tout – elektronikLexikon