| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 
 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> change couleurs </TITLE>
<script language="javascript" type="text/javascript">
<!--
// définition des couleurs 
var coul = {"w":"FFFFFF", "c":"00FFFF", "v":"00FF00", "j":"FFFF00", "r":"FF0000", "m":"FF00FF", "b":"0000ff", "n":"000000"};
// ordre d'enchainement des couleurs
var ordr = "wcvjrmbwvrbcjmwjbvmcrwrcmvbjwmjcbrvwbmrjvcn";
var i = 0;
// variable temporaire pour le Rouge, le Vert et le Bleu
var Rtem = 0;  
var Vtem = 0;
var Btem = 0;
// variable coefficient pour le Rouge, le Vert et le Bleu
var Rcof = 0;
var Vcof = 0;
var Bcof = 0;
 
var a = 0;
// initialisation du départ comme étant la couleur précédente
var prec = ordr.charAt(a);
// attribution des valeurs précédentes pour le Rouge, le Vert et le Bleu
var Rpre = parseInt(coul[prec].substr(0,2) , 16);
var Vpre = parseInt(coul[prec].substr(2,2) , 16);
var Bpre = parseInt(coul[prec].substr(4,2) , 16);
a++;
if(a > ordr.length) {a=0;}
// initialisation du départ comme étant la couleur actuelle 
var actu = ordr.charAt(a);
// attribution des valeurs actuelles pour le Rouge, le Vert et le Bleu
var Ract = parseInt(coul[actu].substr(0,2) , 16);
var Vact = parseInt(coul[actu].substr(2,2) , 16);
var Bact = parseInt(coul[actu].substr(4,2) , 16);
// coefficient positif de vitesse pour le changement des couleurs
var cofp = 3; // 3 ou 5 ou 15 ou 17 ou 51 ou 85
// coefficient négatif de vitesse pour le changement des couleurs
var cofn = - cofp;
//boucle pour passer de 00 à FF
var bouc = 255 / cofp;
 
function change_coul()
{	// pour le Rouge
	if(Ract == Rpre)  {Rcof = 0 ;} // si la couleur précédente est la même, pas de changement
	else if(Ract > Rpre)  {Rcof = cofp ;}  // si la couleur précédent est plus petite, coefficient positif
	else  	{Rcof = cofn ;}  // si la couleur précédent est plus grande, coefficient négatif
 
	// pour le Vert
	if(Vact == Vpre)  {Vcof = 0 ;}
	else if(Vact > Vpre)  {Vcof = cofp ;}
	else  	{Vcof = cofn ;}
 
	// pour le Bleu
	if(Bact == Bpre)  {Bcof = 0 ;}
	else if(Bact > Bpre)  {Bcof = cofp ;}
	else  	{Bcof = cofn ;}
 
	// on incrémente chaque couleur en fonction de son coefficient
	Rtem = Rpre + i * Rcof; 
	Vtem = Vpre + i * Vcof ;
	Btem = Bpre + i * Bcof ;
	// affichage de la couleur
	myco = "#" + ValToHex(Rtem) + ValToHex(Vtem) + ValToHex(Btem);
	document.getElementById("titre").style.backgroundColor = myco;
 
	// tant que l'on a pas fini de changer de couleur 
	if(i < bouc)  { i++ ;}
	// une fois la boucle finie, définition de la prochaine couleur à afficher
	else
	{	a++;
		if(a >= ordr.length) {a = 0;}
		i = 0;
		Rpre = Ract;
		Vpre = Vact;
		Bpre = Bact;
		prec = actu;
		actu = ordr.charAt(a);
		Ract = parseInt(coul[actu].substr(0,2) , 16);
		Vact = parseInt(coul[actu].substr(2,2) , 16);
		Bact = parseInt(coul[actu].substr(4,2) , 16);
	}
}
 
function ValToHex(nomb)
{	var hexa = nomb.toString(16);
	return hexa.length == 1 ? "0" + hexa : hexa;
}
 
function interval_coul(terv)
{	terv = setInterval("change_coul()",500); // rafraichissement de l'affichage toute les 500 millisecondes
}
 
//-->
</script>
</HEAD>
 
<body bgcolor="#000000" onload="interval_coul()" onUnload="window.clearInterval(terv)" >
<br>
<h1 align="center" id="titre"><br> <br> <br> <br> <br> <br> <br><br></h1>
 
</BODY>
</HTML> |