Bonjour,
Si vous voulez bien m'aider, ce serait très sympa. Merci d'avance.
Voici mon problème. J'ai récupéré je ne sais plus exactement où, un super javascript qui donne des effets de nuance de couleurs dans un texte de la gauche vers la droite.
Ce script, je n'ai pas voulu l'intégrer dans ma page xhtml. Dès le départ, j'ai voulu en faire un javascript externe (fichier JS). Je veux appeler ce script à différents endroits dans ma page XHTML en passant chaque fois ,bien sûr, un texte différent comme paramètre . J'ai créé donc ce script externe en prévoyant la réception de ce paramètre mais ça ne marche pas. A l'exécution du javascript, il me donne le message d'erreur 'ligne 1 caractère 1 objet attendu".
Code xhtml :
<!-- choix des architectes -->
<script type="text/javascript" src="texte_variante_couleurs.js"></script>
<script type="text/javascript">
// <![CDATA[
texte_variante_couleurs("Choix des architectes");
// ]]>
</script>
Code javascript :
function texte_variante_couleurs(mesnamani)
{
document.write("<h1 align='center'><center><div id='couleuRnamani' style='cursor:crosshair'></div></center></h1>");
fnDnamani="000000"; // couleur du fond
couLnamani="CCFFCC"; // couleur du texte
// Ne plus rien changer dessous
HNamani=new Array();
HNamani[10]="A";
HNamani[11]="B";
HNamani[12]="C";
HNamani[13]="D";
HNamani[14]="E";
HNamani[15]="F";
A=10;
B=11;
C=12;
D=13;
E=14;
F=15;
let="ABCDEF";
function mes(num)
{
if(let.indexOf(num) != -1)
{
return eval(num);
}
else
{
if(num < 10)
{
return eval(num);
}
else
{
return HNamani[num];
}
}
}
function color(vas,fini,arrete,arretez)
{// http://www.namani.net
hh1=(mes(vas.charAt(0))*16)+mes(vas.charAt(1));
hh2=(mes(vas.charAt(2))*16)+mes(vas.charAt(3));
hh3=(mes(vas.charAt(4))*16)+mes(vas.charAt(5));
pp1=(mes(fini.charAt(0))*16)+mes(fini.charAt(1));
pp2=(mes(fini.charAt(2))*16)+mes(fini.charAt(3));
pp3=(mes(fini.charAt(4))*16)+mes(fini.charAt(5));
if(hh1 < pp1)
{
ff1=hh1+Math.floor((pp1-hh1)/arrete*arretez);
ff1=eval("\'"+mes(Math.floor(ff1/16))+"\'")+eval("\'"+mes(ff1-(Math.floor(ff1/16)*16))+"\'");
}
else
{
ff1=hh1-Math.floor((hh1-pp1)/arrete*arretez);
ff1=eval("\'"+mes(Math.floor(ff1/16))+"\'")+eval("\'"+mes(ff1-(Math.floor(ff1/16)*16))+"\'");
}
if(hh2 < pp2)
{
ff2=hh2+Math.floor((pp2-hh2)/arrete*arretez);
ff2=eval("\'"+mes(Math.floor(ff2/16))+"\'")+eval("\'"+mes(ff2-(Math.floor(ff2/16)*16))+"\'");
}
else
{
ff2=hh2-Math.floor((hh2-pp2)/arrete*arretez);
ff2=eval("\'"+mes(Math.floor(ff2/16))+"\'")+eval("\'"+mes(ff2-(Math.floor(ff2/16)*16))+"\'");
}
if(hh3 < pp3)
{
ff3=hh3+Math.floor((pp3-hh3)/arrete*arretez);
ff3=eval("\'"+mes(Math.floor(ff3/16))+"\'")+eval("\'"+mes(ff3-(Math.floor(ff3/16)*16))+"\'");
}
else
{
ff3=hh3-Math.floor((hh3-pp3)/arrete*arretez);
ff3=eval("\'"+mes(Math.floor(ff3/16))+"\'")+eval("\'"+mes(ff3-(Math.floor(ff3/16)*16))+"\'");
}
return ff1+ff2+ff3;
}
mesh=new Array();
num3=0;
num4=0;
txt="";
function aspect()
{
couleuRnamani.innerHTML="<font color='#"+fnDnamani+"'>"+mesnamani+"<\/font>";
for(i=0;i != mesnamani.length;i++)
{
mesh[i]=fnDnamani;
}
for(i=0;i != mesnamani.length;i++)
{// http://www.namani.net
mesh[i+mesnamani.length]=color(fnDnamani,couLnamani,mesnamani.length,i);
}
for(i=(mesnamani.length*2);i != (mesnamani.length*3);i++)
{
mesh[i]=couLnamani;
}
aspect2();
}
function aspect2()
{
for(i=0;i != mesnamani.length;i++)
{
txt=txt+"<font color='"+mesh[i+num3]+"'>"+mesnamani.charAt(i)+"<\/font>";
}
couleuRnamani.innerHTML=txt;txt="";
if(num3 != (mesnamani.length*2))
{
num3++;
setTimeout("aspect2()",50);
}
else
{
num2=0;
num3=0;
txt=fnDnamani;
fnDnamani=couLnamani;
couLnamani=txt;
txt="";setTimeout("aspect()",2000);
}
}
aspect();
}
J'ai ajouté en fait une fonction au tout début du script pour réceptionner le paramètre. De là, j'ai rétrogradé les fonctions existantes en sous-fonctions. N'est ce pas là le problème ? Mais comment réceptionner ce paramètre alors ?
Configuration: Windows 2000
Internet Explorer 6.0