Dynamiser un animate BackgroundColor, est-ce possible ?
Bonjour !
J'ai une fonction qui me permet de changer la couleur d'éléments html/css via une instruction .animate sur mon js.
Toutefois, selon le bouton sur lequel je clique, la couleur doit changer différemment. J'ai déjà permis à mon JS de déterminer la couleur à mettre selon le cas avec un switch, mais mettre l'instruction .animate au cas par cas dans le switch, sachant qu'il y a pas mal de chose à changer n'est pas le plus approprié. Je veux le mettre en dehors.
Dans le switch, je stocke selon le cas la couleur à mettre dans une variable déclaré auparavant :
Code:
codeCouleur = "(0, 0, 255, 0.4)" // Par exemple
Et mettre l'instruction animate après le switch, admettons...
Code:
$('header').animate({backgroundColor: "rgba("+ codeCouleur + ")"}); // Exemple qui marche pas, je me doute bien, mais c'est pour détailler l'idée...
Quelqu'un peut m'aider là-dessus ? J'avoue qu'étant débutant en JQuery, j'ai un peu de mal à cerner toutes les notions... :)
Merci bien ! ^^
Le problème est résolu, mais c'était trop bête
Bon, ca y est ! J'ai trouvé le truc ! Et on a bien failli se compliquer la vie pour rien... ^^
Bon, je récap toute la procédure :
Chaque lien a un attribut personnalisé de type classe. Jusque là facile !
Code:
1 2
| <a href="#" class="couleur_1" id="lien_accueil">Accueil</a>
<a href="#" class="couleur_2" id="lien_news">Accueil</a> |
On récupère cette classe et on le traite dans un switch. au moment du clic sur une des liens... et ensuite, juste après le switch, la fonction .animate() suffit...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $("nav a").click(function() {
var classRecuperee = $(this).attr("class");
var codeCouleur;
switch (classRecuperee){
case 'couleur_1':
codeCouleur = "rgba(150, 150, 150, 0.4)";
break;
case 'couleur_2':
codeCouleur = "rgba(100, 200, 80, 0.4)";
break;
}
$('header, nav').animate({backgroundColor: codeCouleur});
}); |
Et moi, c'est l'instruction . animate() que j'ai mal écrit, en fait...
Bah oui, comme un âne, j'ai mis ma variable codeCouleur entre double cote ! comme çà ("codeCouleur"). Donc forcément, ca ne risquait pas de marcher ! Quand je dis que je n'en loupe pas une ! ^^
Merci pour votre aide !
A la prochaine