Un javascript ça va deux ça va plus

Signaler
Messages postés
3
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
19 mai 2004
-
Messages postés
3
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
19 mai 2004
-
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

Messages postés
103
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
10 mars 2010
8
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
Messages postés
3
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
19 mai 2004

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