11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Un petit problème jquery qui me préoccupe depuis un moment.

J'aimerai faire un bouton fermer qui me permettrait de jouer une animation, une fois celle-ci jouée j'aimerais atteindre une url. Voila ou j'en suis :

		$('a.close').click(function(){
			event.preventDefault();
			$(".video").fadeOut();
			$('.description').animate({
			left: -5000, 
			},1000),
			$('a.slide1').delay(800).animate({
			width: 39,
			height: 38
			});
			$(location).attr('href',"index.html");
		});


Mon problème est que la redirection vers le lien s’exécute directement dans tenir compte de mon anim.
J'ai bien essayer de retarder son lancement avec un delay, mais sans succès.

Quelqu'un pourrait me mettre sur une piste, je sèche Smiley biggol

Merci
Bonjour,
il faut bien lire les explications fournies dans le site de jQuery.
En fait l'animation se fait en asynchrone, c'est à dire que le compilateur n'attend pas la fin de l'animation avant de passer à la ligne suivante de ton code.
Pour exécuter une action à la fin de ton animation tu doit recourir aux callBack comme dans l'exemple suivant


$('#book').animate({
    opacity: 0.25,
    left: '+=50',
    height: 'toggle'
  }, 5000, function() {
    // Animation complete.
   //donc c'est ici que tu met ta redirection  [cligne]
  });


Animate jquery pour plus d'inforamtion Smiley cligne
Modifié par qualithras (20 Apr 2012 - 12:15)