Javascript donnant la couleur inverse ? [Résolu]

Messages postés
6
Date d'inscription
samedi 13 novembre 2004
Dernière intervention
21 novembre 2004
- 13 nov. 2004 à 16:56 - Dernière réponse :
Messages postés
6
Date d'inscription
samedi 13 novembre 2004
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
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 17 nov. 2004 à 17:39
3
Merci
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...

Merci coucou747 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de coucou747
Meilleure réponse
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 17 nov. 2004 à 17:40
3
Merci
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...

Merci coucou747 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de coucou747
Meilleure réponse
Messages postés
419
Date d'inscription
dimanche 31 août 2003
Dernière intervention
19 avril 2010
- 17 nov. 2004 à 18:10
3
Merci
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.

Merci cs_leris 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_leris
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 15 nov. 2004 à 21:25
0
Merci
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...
Commenter la réponse de coucou747
Messages postés
6
Date d'inscription
samedi 13 novembre 2004
Dernière intervention
21 novembre 2004
- 15 nov. 2004 à 23:18
0
Merci
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 :)

++
Commenter la réponse de cs_Valki
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 16 nov. 2004 à 19:50
0
Merci
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...
Commenter la réponse de coucou747
Messages postés
419
Date d'inscription
dimanche 31 août 2003
Dernière intervention
19 avril 2010
- 17 nov. 2004 à 17:19
0
Merci
c'est du javascript ça ?
si ça fonctionne je veux bien me les bouffer !

L.
Commenter la réponse de cs_leris
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 17 nov. 2004 à 18:34
0
Merci
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...
Commenter la réponse de coucou747
Messages postés
6
Date d'inscription
samedi 13 novembre 2004
Dernière intervention
21 novembre 2004
- 21 nov. 2004 à 18:13
0
Merci
Bonsoir à tous les deux,

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

Encore merci à vous deux.

Cordialement,

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.