Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

APPLIQUER UN CHEMIN DE COULEUR SUR UN TEXTE ENTRÉ EN PARAMÈTRE...


Information sur la source

Catégorie :Graphique Classé sous : Dégrader, Couleur, décimal, hexadécimal, Constructeur Niveau : Initié Date de création : 03/06/2008 Date de mise à jour : 03/06/2008 20:07:06 Vu : 1 737

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Bonjour
Ce code vous permet de faire un dégrader sur un texte(encore?!), oui mais de plusieurs couleurs. On entre le texte en paramètre, un tableau de couleur de la class Color, le style et un debug pour voir évoluer la fonction.. La fonction écrit directement sur le document.
 

Source

  • <script language="javascript" type="text/javascript">
  • function Color(arg,ag,ab)
  • {
  • if((typeof(arg)=="number")&&(typeof(ag)=="number")&&(typeof(ab)=="number"))
  • {
  • this.red = arg;
  • this.green = ag;
  • this.blue = ab;
  • }
  • else
  • {
  • this.red = 0;
  • this.green = 0;
  • this.blue = 0;
  • }
  • }
  • function d2h(d)
  • {
  • if ((d<16)&&(0<=d)) return "0" + d.toString(16);
  • else return d.toString(16);
  • }
  • function h2d(h) {return parseInt(h,16);}
  • function ColorString(texte,tColors,style,fdebug)
  • {
  • var out = "";
  • var sout="";
  • debug = function (idebug)
  • {//alert("texte.length" + texte.length)
  • switch(idebug)
  • {
  • case 0:sout="texte.length" + texte.length;break;
  • case 1:sout+="\ndColor:" + dColor;break;
  • case 2:sout+="<br>Nbre de lettre par partie : " +nbLettrepPartie;break;
  • case 3:sout+="if(!(dColor * iColor < Lettre))<br>";break;
  • case 4:sout="<br>vrai ou faux??";;break;
  • case 5:sout+=dColor + "*" + iColor + "<=" + Lettre;break;
  • case 6:sout+="\nicolor++\n";;break;
  • case 7:sout+="iLettre:"+iLettre+"\tColor :"+TheColor+" \tLettre:'"+texte.charAt(Lettre)+"'\n";break;
  • case 8:document.write(sout);
  • case 9:sout+="\n" + dColor * iColor + "<" + Lettre
  • default:sout+="null"; break;
  • }
  • }
  • nbLettrepPartie = texte.length/(tColors.length-1);
  • if(fdebug) debug(0);
  • dColor = texte.length / (tColors.length-1);
  • if(fdebug)debug(1);
  • if(fdebug)debug(2);
  • if (dColor<1) dColor = 1;
  • var iColor = 0;
  • if(fdebug){debug(3);debug(8);}
  • iLettre = 0;
  • for(var Lettre = 0; Lettre<texte.length;Lettre++)// Parcours et écriture de toute les lettres
  • { if(fdebug){debug(4);debug(5);debug(9);}
  • if(dColor * iColor <= Lettre)
  • { iLettre = 0;
  • iColor++;
  • if(fdebug)debug(6);
  • dr = ( tColors[iColor].red - tColors[iColor-1].red ) / nbLettrepPartie;
  • dg = ( tColors[iColor].green - tColors[iColor-1].green ) / nbLettrepPartie;
  • db = ( tColors[iColor].blue - tColors[iColor-1].blue ) / nbLettrepPartie;
  • }
  • TheColor = "#" + d2h(Math.round(tColors[iColor-1].red + iLettre * dr)) +d2h(Math.round(tColors[iColor-1].green + iLettre * dg)) + d2h(Math.round(tColors[iColor-1].blue + iLettre * db))
  • if(fdebug){debug(7);debug(8);}
  • out+='<font '+style+' color="' + TheColor + '">' + texte.charAt(Lettre) + '</font>';
  • iLettre++;
  • }
  • document.write(out);
  • }
  • var tColors = [new Color(00,00,255),new Color(255,255,255),new Color(255,0,0)]
  • ColorString("0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz",tColors,"",1);
  • </script>
     <script language="javascript" type="text/javascript">
     function Color(arg,ag,ab)
     {
    
     if((typeof(arg)=="number")&&(typeof(ag)=="number")&&(typeof(ab)=="number"))
     {
     this.red = arg;
     this.green = ag;
     this.blue = ab;
     }
     else
     {
     this.red = 0;
     this.green = 0;
     this.blue = 0;
     }
     }
     function d2h(d)
     {
     if ((d<16)&&(0<=d)) return "0" + d.toString(16);
     else return d.toString(16);
     }
    
     function h2d(h) {return parseInt(h,16);}
    
 function	ColorString(texte,tColors,style,fdebug) 
	{
		var  out = "";
		var sout="";
		debug = function  (idebug)
		{//alert("texte.length" + texte.length)
			switch(idebug)
			{
				case 0:sout="texte.length" + texte.length;break;
				case 1:sout+="\ndColor:" + dColor;break;
				case 2:sout+="<br>Nbre de lettre par partie : " +nbLettrepPartie;break;
				case 3:sout+="if(!(dColor * iColor < Lettre))<br>";break;
				case 4:sout="<br>vrai ou faux??";;break;
				case 5:sout+=dColor + "*" + iColor + "<=" + Lettre;break;
				case 6:sout+="\nicolor++\n";;break;
				case 7:sout+="iLettre:"+iLettre+"\tColor :"+TheColor+" \tLettre:'"+texte.charAt(Lettre)+"'\n";break;
				case 8:document.write(sout);
				case 9:sout+="\n" + dColor * iColor + "<" + Lettre
				default:sout+="null"; break;
			}
		}
		
		nbLettrepPartie = texte.length/(tColors.length-1);
		if(fdebug) debug(0);
		dColor = texte.length / (tColors.length-1); 
		if(fdebug)debug(1);
		if(fdebug)debug(2);
		if (dColor<1) dColor = 1;
		var iColor = 0;
		if(fdebug){debug(3);debug(8);}
		iLettre = 0;
		for(var Lettre = 0; Lettre<texte.length;Lettre++)// Parcours et écriture de toute les lettres
		{   if(fdebug){debug(4);debug(5);debug(9);}

			if(dColor * iColor <= Lettre)
			{	iLettre = 0;
				iColor++;
				if(fdebug)debug(6);
				dr = ( tColors[iColor].red   - tColors[iColor-1].red   ) / nbLettrepPartie;
				dg = ( tColors[iColor].green - tColors[iColor-1].green ) / nbLettrepPartie;
				db = ( tColors[iColor].blue  - tColors[iColor-1].blue  ) / nbLettrepPartie;
			}
			
			TheColor = "#" + d2h(Math.round(tColors[iColor-1].red + iLettre * dr)) +d2h(Math.round(tColors[iColor-1].green + iLettre * dg)) + d2h(Math.round(tColors[iColor-1].blue + iLettre * db))
			if(fdebug){debug(7);debug(8);}
			out+='<font '+style+' color="' + TheColor + '">' + texte.charAt(Lettre) + '</font>';
			
			iLettre++;
		}
		document.write(out);
	}
    
     var tColors = [new Color(00,00,255),new Color(255,255,255),new Color(255,0,0)]
     ColorString("0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz",tColors,"",1);
     </script>

Historique

03 juin 2008 20:07:06 :
Il est mieux

Commentaires et avis

signaler à un administrateur
Commentaire de nicomilville le 04/06/2008 19:57:25

oui, pas mal, je regarderai plus en détail quand j'aurai le temps...

a++

signaler à un administrateur
Commentaire de LeFauve42 le 13/06/2008 11:49:55

Une petite copie d'ecran peut-etre ?

signaler à un administrateur
Commentaire de nicomilville le 13/06/2008 16:33:42

Oui, ce serait un plus !

a++

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Changer la couleur d'un textfield [ par Blondy ] J'aimerais faire une méthode qui change la couleur d'un textfield. Je sais que nous pouvons changer le texte avec .value mais la couleur, avec .style? changer de couleur la cellule quand la souris vient et part [ par Stephane ] salut a tousvoila je connais pas trop javascript, alors je me sert des sources qu'il y a, mais y a un truc qu'il n'y est pas :Comment peut on changer Changer der couleur un bouton. [ par SoniqExnihilo ] Salut.j'ai fait un bouton bleu et j'aimerai que quand je click dessu il devien rouge par exemple.Voila le code que j'ai ecris mais il produit une erre Couleur d'une cellule d'un tableau html [ par ypothier ] Est-ce que quelqu'un pourrai m'aider. J'ai un tableau HTML bien simple. Mais j'aimerai être capable de modifier la class à laquel il appartient dans u COULEUR DE FOND [ par PatriceVB ] Est-il possible quand on clique sur un lien, de changer la couleur de fond de la page ? Changement de couleur de cellules dans un tableau [ par krevette ] Bonjour tt le mondej'aimerais changer la couleur des cellules d'un tableau (jusque la pas de probleme). Mais ce qu'il y a c'est que je voudrais change couleur du texte d'une cellule ou la couleur du fond d'une cellule d'une table [ par rabdane ] J'aimerais avoir un javascript qui change la couleur du texte d'une cellule ou la couleur du fond d'une cellule d'une table appelé TABLE1.cette table probleme avec couleur scrool I.E [ par Meduse ] Votre texte ICIVotre texte ICIje place ce bout de code entre les balises &lt;HEAD&gt; et &lt;/HEAD&gt; dans ma page hTML pour pouvoir collorer la scro Roll-over spécial [ par Inc0 ] Voila, je voudrai faire un rollo- over assez joli.Lorsque la souris est au dessus du lien ça change de couleur. Ok ça j' arrive (lol), mais maintenant Couleur des separateur de frames... [ par Mirror1661 ] Salut!ça doit etre super simple mais j'y arrive pas... Comment on change la couleur des bordures qui separent les differentes frames?MerciMirror.


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,796 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.