Faire passer un texte progressivement d'une couleur donnee a une autre.
Grand Mamamouchi
Messages postés33Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 6 mai 2005
-
21 sept. 2004 à 05:33
Grand Mamamouchi
Messages postés33Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 6 mai 2005
-
21 sept. 2004 à 23:45
Super, ca marche, merci a vous tous !
Grace au debugage efficace de Ghislain, le script est devenu operationnel.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 21 sept. 2004 à 10:41
Bonjour,
un script qui ressemble à celui en exemple,
avec début et fin.
<HTML>
<HEAD>
<TITLE>changement de couleur progressif</TITLE>
</HEAD>
exemple de texte
<script type="text/JavaScript">
var fin=new Array(160,140,0);//couleur à atteindre
var deb=new Array(30,20,10);//couleur début
var pas=10;//pour faire varier couleur : ##### doit permettre d'atteindre fin ##### deb(0 à 2)+(n fois pas)=fin(0 à 2)
var delai=100;//temps entre 2 variations
function nvcouleur()
{ var couleur="rgb(";
var ok=true;
for (var n=0;n<deb.length;n++)
{ if (n>0) couleur+=",";
couleur+=deb[n];
if (deb[n]<fin[n])
{ ok=false;
deb[n]=deb[n]+pas; }
else
{ if (deb[n]>fin[n])
{ ok=false;
deb[n]=deb[n]-pas; } } }
couleur+=")";
div1.style.color=couleur;
window.status=couleur;
if (!ok) window.setTimeout("nvcouleur();",delai); }
nvcouleur();
</script>
</HTML>
Si tu as envie de me faire des commentaires sur ce dernier
script, ils seront les bienvenus.
Dans mon script d'origine, j'entrais la valeur de la durée
totale : cela me parait plus elegant que
d'entrer le délai, mais ce dernier script est deja bien.
Éventuellement, si j'ai du temps, j'essayerai de trouver une
fonction acceptant en entrée la durée totale du processus : ça
permettrait de proportionnaliser les décalages au décalage
restant a effectuer.
L'ideal, ce serait de pouvoir passer
directement les couleurs du fond et du texte a la fonction,
mais ça, c'est une autre histoire.