Changer couleur texte et fond

Signaler
Messages postés
42
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
7 novembre 2005
-
Messages postés
137
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
28 août 2007
-
Bonjour,

J'ai un problème pour synchroniser le changement des deux couleurs: texte et background. J'essaie de créer un script qui lorsque la page prend une couleur de fond, la couleur change du texte change elle aussi (ex: fond noir, texte blanc). J'ai essayé quelques fonctions... mais sans succés.

<SCRIPT LANGUAGE="JavaScript">
function change_couleur()
{
var couleur = document.chgmt.code.selectedIndex;


parent.mainFrame.document.bgColor = document.chgmt.code.options[couleur].value;
{
if(couleur=="000000")
parent.mainFrame.document.fgColor="ffffff";
if(couleur=="ff0000")
parent.mainFrame.document.fgColor="ffffff";
if(couleur=="ffffff")
parent.mainFrame.document.fgColor="000000";
if(couleur=="ff8000")
parent.mainFrame.document.fgColor="ff80000";
if(couleur=="FFCC00")
parent.mainFrame.document.fgColor="000000";
if(couleur=="ffff00")
parent.mainFrame.document.fgColor="000000";
if(couleur=="333333")
parent.mainFrame.document.fgColor="000000";
}


}
</script>
<FORM NAME="chgmt">
<SELECT NAME="code" class="normalsmall" onChange="change_couleur()">
<OPTION>Choisissez votre couleur </option>
<OPTION VALUE="000000" > noir </option>
<OPTION VALUE="ff0000" > rouge </option>
<OPTION VALUE="ff8000" > orange </option>
<OPTION VALUE="4890c0" > bleu </option>
<OPTION VALUE="ffffff" > blanc </option>
<OPTION VALUE="cc0000" > rouge obscur </option>
<OPTION VALUE="ffcc00" > jaune </option>
<OPTION VALUE="408000" > vert </option>
<OPTION VALUE="c0c0c0" > gris clair </option>
<OPTION VALUE="808080" > gris fonce </option>
<OPTION VALUE="d6e2e4" > gris pale </option>
<OPTION VALUE="004080" > bleu </option>
</select>
</form>

Merci d'avance

Federal Design House

1 réponse

Messages postés
137
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
28 août 2007

Déjà tu pourrais optimiser ton code en remplaçant tes if par un switch:
switch(couleur) {
case "000000" :
case "ff0000" :
parent.mainFrame.document.fgColor = "#FFFFFF";
break;
case "ffffff" :
case "ffcc00" :
case "ffff00" :
case "333333" :
parent.mainFrame.document.fgColor = "#000000";
break;
case "ff8000" :
parent.mainFrame.document.fgColor = "#ff8000";
break;
}

Ensuite tu remarqueras que j'ai mis des '#' avant les chiffres avec lesquels j'applique la couleur. Ce # est nécessaire pour que javascript sache qu'il s'agit d'un nombre au format héxadécimal et non d'une variable.

J'éspère que j'ai pu un peu t'aider.

Spyro666 contre le 555