Un javascript ça va deux ça va plus

palmon Messages postés 3 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 19 mai 2004 - 16 mai 2004 à 14:23
palmon Messages postés 3 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 19 mai 2004 - 19 mai 2004 à 21:48
bonjour

je suis en panne.

Pour changer la couleur d'un texte donné j'ai ce qui suit :

<script language="JavaScript1.2">
<!--
// Texte en couleurs variables
function initArray() {
this.length = initArray.arguments.length;
for (var j = 0; j < this.length; j++) {
this[j] = initArray.arguments[j];
}
}

// modifier ici le texte, la vitesse et les couleurs
var etext = " Mon texte 1. ";
var speed = 4000;
var y = 0;
var color = new initArray(
"blue",
"green",
"blue",
"purple",
"black",
"purple",
"black",
"purple",
"blue",
"green",
"blue"
);
// fin des modifications

if(navigator.appName == "Netscape") {
document.write('<layer id="e">' +etext+'</layer>
');
}
if (navigator.appVersion.indexOf("MSIE") != -1){
document.write('
'+etext+'
');
}
function chcolor(){
if(navigator.appName == "Netscape") {
document.e.document.write(''+etext+'');
document.e.document.close();
}
else if (navigator.appVersion.indexOf("MSIE") != -1){
document.all.e.style.color = color[y];
}
(y < color.length-1) ? y++ : y = 0;
}
setInterval("chcolor()",1000);
clearInterval("chcolor()",1000);
// -->
</script>

il fonctionne trés bien ( employé seul)

J'ai voulu le dupliquer (copier/coller) dans la même page pour animer un deuxième texte et là la cata

les textes respectifs s'affichent biens mais sans les changements de couleur qui restent sans effet.

Si je supprime un des deux l'autre fonctionne.

J'ai essayé de changer les noms des fonctions et des variables pour eviter les confusions, par exemple
la fonction "initArray()" est devenue "initArray1()" l
a variable "texte" est devenue "etext"
"j" "k"
et "y" "x"

rien à faire toujours en panne

qui a une idée

merci d'avance de vos suggestions et conseils

2 réponses

bertrouf Messages postés 103 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 10 mars 2010 9
19 mai 2004 à 15:24
Je pense que le problème vient de l'ID des
.

Tu as un div nommé "e" qui change de couleur, on est d'accord ?
Si tu veux une seconde zone d'animation, il faut donner un autre nom à ta zone.

et transformer dans le code
document.f.document.write(' etc....

Ca devrait marcher, mais c'est un peu barbare.
Si je devais faire un truc comme ça, (surtout pour plusieurs zones), je m'arrangerai pour avoir une
function changecolor(texte);
pour l'insérer dans le texte où je veux.

J'espère que tu n'es pas resté 3 jours en rade pour un petit changement de couleur !
Cordialement,
bertrouf6111@/ /yahoo.fr
0
palmon Messages postés 3 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 19 mai 2004
19 mai 2004 à 21:48
bonsoir Bertouf

j'ai regle mon prob ça fonctionne
en nommant chcolor en chcolor1
et avec 2 variables distinctes pour les deux textes
des Id différentes "e" et "d"

voila en fait je n'avais pas été au bout de mon raisonnement

merci de ta réponse
0
Rejoignez-nous