Fonctions chainables

alex
does not have a status.
Portrait de alex
L'utilisateur est Offline. Vue la dernière fois à 2 an 32 semaines. offline
Inscription: 15/09/2009

Slt,
à propos des fonctions JQuery chainables, vous avez mis un exemple sur la page "débuter avec JQuery" d'un enchainement de la fonction .html et de la .CSS. Et j'aimerais pouvoir enchainer les fonctions me permettant d'avoir les effets Slide In/Out + Fade In/Out. Mais cela ne donne rien! Pouvez-vous m'aider, svp? Merci.

yoja_admin
does not have a status.
Portrait de yoja_admin
L'utilisateur est Offline. Vue la dernière fois à 2 jours 18h. offline
Inscription: 22/10/2008
Enchaîner les effets en jQuery
Salut, peux-tu préciser ce que tu souhaites obtenir comme résultat et éventuellement nous indiquer ton code qui ne marche pas. Chez moi l'enchainement suivant fonctionne :
$("#test").slideUp().slideDown().fadeOut().fadeIn();
Sinon petit rappel au niveau des effects jQuery (j'essaierais de compléter la documentation dès que j'ai un peu de temps Smile). Tu peux également utiliser la fonction animate
 $("#block").animate({ 
        width: "70%",
        opacity: 0.4,
        marginLeft: "0.6in",
        fontSize: "3em", 
        borderWidth: "10px"
      }, 1500 );
Pour enchainer les effets les uns à la suite des autres :
$("#block2").animate( { width:"90%"}, 1000 )
         .animate( { fontSize:"24px" } , 1000 )
         .animate( { borderLeftWidth:"15px" }, 1000);
Pour exécuter les effets en parallèle, il faut positionner le paramètre queue à false :
$("#block1").animate( { width:"90%" }, { queue:false, duration:3000 } )
         .animate( { fontSize:"24px" }, 1500 )
         .animate( { borderRightWidth:"15px" }, 1500);
@+ Yohann (yoja team)
alex
does not have a status.
Portrait de alex
L'utilisateur est Offline. Vue la dernière fois à 2 an 32 semaines. offline
Inscription: 15/09/2009
Fonctions chainables

Slt,
en fait je cherche à faire apparaitre une zone de texte cachée initialement (comme dans votre exemple), avec un glissement (slideDown) et en même temps un fondu (fadeIn).
Et j'ai une question supplémentaire, j'en profite, est-ce que je peux appliquer ces même effets pour faire apparaitre une image au lieu d'un texte,
Merci de ton aide. (ps: je suis novice en javascript!)

Voilà donc mon code :

Ma première page HTML - jQuery

$(document).ready(function(){
$("a.show").click(function(){
$("#text-hidden").slideDown();
return false;
});
$("a.hide").click(function(){
$("#text-hidden").slideUp();
return false;
});
});

Afficher infos
Fermer
Rider des années 70
Fermer

yoja_admin
does not have a status.
Portrait de yoja_admin
L'utilisateur est Offline. Vue la dernière fois à 2 jours 18h. offline
Inscription: 22/10/2008
Effet fade/slide en même temps
D'accord en fait tu veux que les effets s'exécutent en même temps (en parallèle) et non pas à la suite. Dans ce cas tu dois créer ton animation toi même. Exemple :
$(document).ready(function(){
	$("a.show").click(function(){
		$("#text-hidden").css({opacity:"0"}).animate( { height:"show", opacity:"1" }, 1500 );
		return false;
		});
	$("a.hide").click(function(){
		$("#text-hidden").animate( { height:"hide", opacity:"0" }, 1500 );
		return false;
		});
}); 

Explications :

Pour le bouton show, j'initialise l'opacité à 0 (élément invisible) avec la fonction css ensuite j'utilise la fonction animate pour lui dire que la hauteur doit être visible (équivaut à slidedown) et que l'opacité doit augmenter jusqu'à 1 (équivaut à fadeIn).
Et inversement pour le bouton hide.
Les effets jQuery fonctionnent de la même manière pour les images.

Si tu as des questions, n'hésites pas Smile



alex
does not have a status.
Portrait de alex
L'utilisateur est Offline. Vue la dernière fois à 2 an 32 semaines. offline
Inscription: 15/09/2009
Effets JQuery

Salut,
Merci beaucoup les effets parallèles, c'est ce que je voulais faire...

Je sais j'abuse mais ça (code) donnerait quoi appliqués à une image et non sur "a"?
Merci pour ton aide!

Alex.

yoja_admin
does not have a status.
Portrait de yoja_admin
L'utilisateur est Offline. Vue la dernière fois à 2 jours 18h. offline
Inscription: 22/10/2008
Code identique pour les images
Normalement le code est identique pour les images :
<img id="image" class="show" src="images/img.gif" width="200" height="200" />
<img class="hide" src="images/img.gif" width="200" height="200" />

Si tu veux que l'effet s'applique sur l'image

$(document).ready(function(){
	$("a.show").click(function(){
		$("#image").css({opacity:"0"}).animate( { height:"show", opacity:"1" }, 1500 );
		return false;
		});
	$("a.hide").click(function(){
		$("#image").animate( { height:"hide", opacity:"0" }, 1500 );
		return false;
		});
}); 

Si tu veux que l'image déclenche l'effet

$(document).ready(function(){
	$("img.show").click(function(){
		$("#text-hidden").css({opacity:"0"}).animate( { height:"show", opacity:"1" }, 1500 );
		return false;
		});
	$("img.hide").click(function(){
		$("#text-hidden").animate( { height:"hide", opacity:"0" }, 1500 );
		return false;
		});
}); 
alex
does not have a status.
Portrait de alex
L'utilisateur est Offline. Vue la dernière fois à 2 an 32 semaines. offline
Inscription: 15/09/2009
Fonction chainables

Salut, merci pour ton aide, je n'ai pas encore testé avec les images. Je prend du recul en ce moment...

Je suis, en fait, en train de faire la refonte de l'ancien site de mon asso (web 1.0, en flash) et je veux intégré l'AJAX dans mes pages (pour passer au web 2.0). J'ai demandé des conseils sur un forum (http://www.commentcamarche.net/forum/affich-14383142-ajax), et j'ai suivi un tuto vidéo (http://www.grafikart.fr/tutoriels/video/navigation-ajax-33) mais ça ne fonctionne pas malgré les conseils des internautes. En fait, je suis novice et j'ai de l'ambition, je sais pas si ça va ensemble!!! Aurais-tu des conseils de pédagogue à me prodiguer???

Merci.

yoja_admin
does not have a status.
Portrait de yoja_admin
L'utilisateur est Offline. Vue la dernière fois à 2 jours 18h. offline
Inscription: 22/10/2008
Fonction chainables

novice et ambitieux ça va bien ensemble mais il faut être patient car ça prend toujours un peu de temps pour apprendre une nouvelle techno. J'ai pas vraiment de conseils à te donner, il faut que tu restes motivé et surtout ne pas abandonner avoir d'avoir finaliser ton objectif. Pour tes questions sur ajax, tu peux créer une nouvelle discussion sur ce sujet et j'essaierai de t'aider un maximum.

Nikolian
does not have a status.
Portrait de Nikolian
L'utilisateur est Offline. Vue la dernière fois à 1 an 14 semaines. offline
Inscription: 26/01/2011
Je commence le Jquery, pour

Je commence le Jquery, pour les animations simple, pas de problème, mais les choses se gattent lorsque le passage sur un element doit animer d'autres elements.

Comment faire pour que 2 actions se passe l'une après l'autre ?

$('#Div_1").fadeOut("fast");
$('#Div_2").fadeIn("fast");

Je ne voit pas comment faire mon animate, vu que ce sont 2 elements différents...

Simple ou pas simple ?

yoja_admin
does not have a status.
Portrait de yoja_admin
L'utilisateur est Offline. Vue la dernière fois à 2 jours 18h. offline
Inscription: 22/10/2008
Fonction callback/complete
Salut, normalement ça devrait fonctionner si tu utilises le paramètre "fonction complete" qui te permet de définir une fonction qui va être exécutée une fois l'animation terminée. La syntaxe : .fadeOut( [ duration ], [ complete] ) Dans ton cas ça donnerait :

$('#Div_1").fadeOut("fast", function(){ $('#Div_2").fadeIn("fast"); } );

Nikolian
does not have a status.
Portrait de Nikolian
L'utilisateur est Offline. Vue la dernière fois à 1 an 14 semaines. offline
Inscription: 26/01/2011
Simple en fait. Ca fonctionne

Simple en fait.

Ca fonctionne a merveille

yoja_admin
does not have a status.
Portrait de yoja_admin
L'utilisateur est Offline. Vue la dernière fois à 2 jours 18h. offline
Inscription: 22/10/2008
Documentation effets jQuery
Vous pouvez désormais retrouver d'autres informations sur les effets jQuery dans notre rubrique jQuery effets Smile