Je crée un div qui, lorsqu'on clique dessus, exécute un script jquery, mais le problème est que dans l'animation il y a un lien, quand vous cliquez sur le lien, les liens sont exécuter aussi bien que l'animation mais il ne laisse pas l'animation se terminer. Existe-t-il un moyen de faire savoir à Jquery que lorsque les liens sont exécutés, attendez que l'animation se termine, puis allez sur le lien?Le lien ne laisse pas l'animation se terminer JQUERY
0
A
Répondre
0
Vous devez gérer l'événement click
de la liaison et enregistrer le clic, puis return false
pour empêcher la navigation.
Ensuite, lorsque l'animation se termine, vérifiez si vous avez enregistré un clic et, si c'est le cas, définissez location.href
.
Cependant, je ne recommande pas cela. Si un utilisateur clique sur un lien, il veut évidemment aller sur cette page et son animation ne l'intéresse pas.
0
Vous pouvez utiliser le rappel de param pour la fonction Animer:
$('a').click(function(){
$(this).animate({}, 500, function() { location.href = $(this).attr('href') });
return false;
});
Cela exécutera l'animation lorsque le lien est cliqué et ira à l'url une fois l'animation terminée.
Oui, vous devriez pouvoir le faire en utilisant le rappel d'animation de fin si vous utilisez ['jQuery.animate'] (http://api.jquery.com/animate/) ou similaire. Fondamentalement, vous utiliserez un gestionnaire jQuery.click sur le lien. Dans le gestionnaire, définissez un indicateur (clickedFooLink = true). Ensuite, renvoyez false du gestionnaire (l'action par défaut de navigation n'est donc pas prise immédiatement). Enfin, à la fin du rappel d'animation, si clickedFooLink est vrai, vous naviguez alors. Publiez votre code source pour plus d'aide. –