Javascript donnant la couleur inverse ?

Résolu
cs_Valki Messages postés 6 Date d'inscription samedi 13 novembre 2004 Statut Membre Dernière intervention 21 novembre 2004 - 13 nov. 2004 à 16:56
cs_Valki Messages postés 6 Date d'inscription samedi 13 novembre 2004 Statut Membre Dernière intervention 21 novembre 2004 - 21 nov. 2004 à 23:59
Bonjour,

Je cherche un script permettant d'obtenir la couleur inverse d'une couleur donnée, afin de l'utiliser dans un script php de ce type :

Ou mon_champ = couleur de fond de mon
et mon_champ_inverse = couleur inverse de fond de mon utilisée pour le texte

Merci d'avance si vous pouvez m'aider.

++

Valki

11 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 17:39
efferctivement, j'avais fait quelques erreurs de frape, j'ai testé mon code et en corect ça donne ;
<html>
<head>
<title></title>
<script>
function couleurinv(demande){
var couleurs="0123456789ABCDEF";
var couleurs2="FEDCBA9876543210";
var newcouleur="#";
var i, j;
document.write(demande);
for (i=1;i<7;i++){
for (j=0;j<couleurs.length;j++){
if (couleurs.substr(j,1)==demande.substr(i,1)){
newcouleur=newcouleur+couleurs2.substr(j,1);
}
}
}
return newcouleur;
}
</script>
</head>

<script>
document.write("
"+couleurinv("#ABCDEF"));
</script>


</html>

mais ce que j'avias mis plus haut était en js ... ça ne marchait pas a cause des s oubliés sur couleur (que j'aias déclarés en couleurs) et j'avais inversé i et j...
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 17:40
function couleurinv(demande){
var couleurs="0123456789ABCDEF";
var couleurs2="FEDCBA9876543210";
var newcouleur="#";
var i, j;
for (i=1;i<7;i++){
for (j=0;j<couleurs.length;j++){
if (couleurs.substr(j,1)==demande.substr(i,1)){
newcouleur=newcouleur+couleurs2.substr(j,1);
}
}
}
return newcouleur;
}

donc ta fonction sans le document.write c'ets ça...
3
cs_leris Messages postés 419 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 19 avril 2010 3
17 nov. 2004 à 18:10
re,

version qui fonctionne , mais je ne vois pas en quoi le resultat correspond à la couleur "inverse" ?
pour 000000 , c'est FFFFFF , ok noir et blanc (si on veut)
mais si je tape : 787878 j'obtiens 878787 , vois pas en quoi c'est l'inverse ... ??

<html>
<head>
<title></title>
<script type="text/javascript">
function couleurinv(){
var demande=document.getElementById('champ1').value;
var couleurs="0123456789ABCDEF";
var couleurs2="FEDCBA9876543210";
var newcouleur="";
var i, j;
// document.write(demande);
for (i=0;i<6;i++){
for (j=0;j<couleurs.length;j++){
if (couleurs.substr(j,1)==demande.substr(i,1)){
newcouleur=newcouleur+couleurs2.substr(j,1);
}
}
}
document.getElementById('champ1').style.backgroundColor='#'+document.getElementById('champ1').value; 
document.getElementById('champ1').style.color = '#'+newcouleur;
document.getElementById('txt1').innerHTML=document.getElementById('champ1').style.backgroundColor;
document.getElementById('txt2').innerHTML = '#'+newcouleur;
document.getElementById('champ2').style.backgroundColor='#'+newcouleur;
}
</script>
</head>

.

.

</html>


L.
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 nov. 2004 à 21:25
tu veux le faire en js ?? si c'ets a utiliser en php alros pourquois ne pas le faire en php ?...

$couleurs="0123456789ABCDEF";
$couleurs2="FEDCBA9876543210";
$newcouleur="";
for ($i=0;$i<strlen($demande);$i++){
for ($j=0;$j<strlen($couleur);$j++){
if (substr($couleur,$i,1)==substr($demande,$j,1)){
$a=substr($couleur2,$i,1);
$newcouleur="$newcouleur$a";
}
}
}

ça te donne $newcouleur en fonction de $demande

si tu le veux vraiment en javascript, je peux te le faire aussi, c'est a peine plus simple...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Valki Messages postés 6 Date d'inscription samedi 13 novembre 2004 Statut Membre Dernière intervention 21 novembre 2004
15 nov. 2004 à 23:18
Bonsoir,

Oui, c'est en javascript que je cherche ce code, car cela me permettra un résultat instantané sans rechargement de page comme avec php.

Merci d'avance :)

++
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 nov. 2004 à 19:50
couleurs="0123456789ABCDEF";
couleurs2="FEDCBA9876543210";
newcouleur="";
for (i=0;i<demande.length;i++){
for (j=0;j<couleur.length;j++){
if (couleur.substr(i,1)==demande.substr(j,1)){
newcouleur+=couleur2.substr(i,1);
}
}
}

code non testé mais je penses qu'il fonctionneras, si bug, dis moi ou...
0
cs_leris Messages postés 419 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 19 avril 2010 3
17 nov. 2004 à 17:19
c'est du javascript ça ?
si ça fonctionne je veux bien me les bouffer !

L.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 18:34
tu ne vois pas... achète toi des lunettes...

lances paint, mets un fond bleu : #0077FF
ensuite tu fais inverser les couleurs, t'auras #FF8800

t'es convaincu ???

sinon c'ets quoi des coulerus inverse ???

c'ets la couleur qui resortiras le plus...
0
cs_Valki Messages postés 6 Date d'inscription samedi 13 novembre 2004 Statut Membre Dernière intervention 21 novembre 2004
21 nov. 2004 à 18:13
Bonsoir à tous les deux,

Merci pour ce code, il fonctionne à merveille et son adaptation est aisée.

Encore merci à vous deux.

Cordialement,

Valki
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 nov. 2004 à 21:13
pourais tu faire réponse accèptée stp ?
0
cs_Valki Messages postés 6 Date d'inscription samedi 13 novembre 2004 Statut Membre Dernière intervention 21 novembre 2004
21 nov. 2004 à 23:59
Arf, oui, dsl j'avais pas compris à qoi ça servait :p
0
Rejoignez-nous