Propriété BGCOLOR d'un tableau
Nico
-
ipl Messages postés 5738 Statut Contributeur sécurité -
ipl Messages postés 5738 Statut Contributeur sécurité -
Bonjour à tous !
Je viens vous demander de l'aide !
J'ai un tableau dans une page HTML et j'aimerais que sa propriété BGCOLOR (couleur de fond) ne soit pas fixe et unique mais égale en fait à une variable (qui est générée par une fonction random en javascript). J'ai bien essayé de remplacer le code couleur (#FFFF00 par exemple) par le nom de la variable mais cela ne marche pas.
Auriez-vous une solution à ce problème et est-ce possible que BGCOLOR soit une variable? Si oui, faut-il un type de variable particulier ?
D'avance un grand merci.
Nico.
Je viens vous demander de l'aide !
J'ai un tableau dans une page HTML et j'aimerais que sa propriété BGCOLOR (couleur de fond) ne soit pas fixe et unique mais égale en fait à une variable (qui est générée par une fonction random en javascript). J'ai bien essayé de remplacer le code couleur (#FFFF00 par exemple) par le nom de la variable mais cela ne marche pas.
Auriez-vous une solution à ce problème et est-ce possible que BGCOLOR soit une variable? Si oui, faut-il un type de variable particulier ?
D'avance un grand merci.
Nico.
A voir également:
- Propriété BGCOLOR d'un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Imprimer un tableau excel - Guide
- Tableau ascii - Guide
- Tableau croisé dynamique - Guide
24 réponses
Bonsoir Nico, bonsoir à tous,
Je ne nage pas dans CSS tous les jours et je peux raconter des sottises !
Pour moi, oui c'est possible d'utiliser une variable à la condition de modifier par javascript... la propriété background (je peux me tromper) et à condition de donner un nom à ton tableau (de manière à pouvoir y faire référence en JS).
@12C4 ... In medio stat virtus ...
Ipl
Je ne nage pas dans CSS tous les jours et je peux raconter des sottises !
Pour moi, oui c'est possible d'utiliser une variable à la condition de modifier par javascript... la propriété background (je peux me tromper) et à condition de donner un nom à ton tableau (de manière à pouvoir y faire référence en JS).
@12C4 ... In medio stat virtus ...
Ipl
Bonsoir,
Je pense que c'est possible mais il faut en faire une page en php ou asp et passer le code couleur en variable. (à vérifier).
A++
Je pense que c'est possible mais il faut en faire une page en php ou asp et passer le code couleur en variable. (à vérifier).
A++
Bonsoir Nico, Marden, bonsoir à tous,
Désolé d'arriver bien tard !
L'aide de Marden est impeccable !
Est-ce bon pour toi Nico ?
@12C4 ... In medio stat virtus ...
Ipl
Désolé d'arriver bien tard !
L'aide de Marden est impeccable !
Est-ce bon pour toi Nico ?
@12C4 ... In medio stat virtus ...
Ipl
Salut ipl et Marden et tt le monde !
Décidemment ça veut toujours pas!
Le JS ne reconnaît pas mon tableau comme objet, c fou!!!
J'ai bien utilisé l'ID pourtant!
Le problème consiste donc à identifier mon tableau en tant qu'objet!
A suivre!
Encore merci.
Nico.
Décidemment ça veut toujours pas!
Le JS ne reconnaît pas mon tableau comme objet, c fou!!!
J'ai bien utilisé l'ID pourtant!
Le problème consiste donc à identifier mon tableau en tant qu'objet!
A suivre!
Encore merci.
Nico.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut !
En fait, c'est pas très dur... Il suffit de le savoir ;-)
JavaScript ne désigne pas tous les objets de la même manière. Si tu veux désigner un tableau, il faut utiliser une fonction d'appel à l'ID du tableau. Donc :
document.getElementById("tonTableau").bgColor ="taCouleurAvecUn#Devant";
Voilà. Et ça marche !!!
Bon courage et @+ !
En fait, c'est pas très dur... Il suffit de le savoir ;-)
JavaScript ne désigne pas tous les objets de la même manière. Si tu veux désigner un tableau, il faut utiliser une fonction d'appel à l'ID du tableau. Donc :
document.getElementById("tonTableau").bgColor ="taCouleurAvecUn#Devant";
Voilà. Et ça marche !!!
Bon courage et @+ !
Les 4 codages suivants fonctionnent !!! Gare à la casse !!!
document.all.tabid.style.backgroundColor="yellow";
document.getElementById("tabid").style.backgroundColor="yellow";
document.getElementById("tabid").bgColor="yellow";
document.all.tabid.bgColor="yellow";
Cherchez la logique ...
document.all.tabid.style.backgroundColor="yellow";
document.getElementById("tabid").style.backgroundColor="yellow";
document.getElementById("tabid").bgColor="yellow";
document.all.tabid.bgColor="yellow";
Cherchez la logique ...
Bonjour Nico, bonjour à tous,
Voici le code de ma page de test cpnforme aux posts de Marden :
-----
<html><head>
<script language="javascript"><!--
var couleurs = new Array ( "#B7DF00", "#FF37A6", "#FF2700", "#FFFF00");
col = couleurs[Math.floor(Math.random()*couleurs.length)] ;
function chgfond(couleur){document.all.tabid.style.backgroundColor=couleur;}
//--></script>
</head><body onLoad=chgfond(col);>
<script language="javascript">document.write(col);</script>
<TABLE ID="tabid" BGCOLOR="blue" width="100%">
<td width="10%"> </td>
<td width="90%"> </td>
</table>
</body></html>
-----
@12C4 ... In medio stat virtus ...
Ipl
Voici le code de ma page de test cpnforme aux posts de Marden :
-----
<html><head>
<script language="javascript"><!--
var couleurs = new Array ( "#B7DF00", "#FF37A6", "#FF2700", "#FFFF00");
col = couleurs[Math.floor(Math.random()*couleurs.length)] ;
function chgfond(couleur){document.all.tabid.style.backgroundColor=couleur;}
//--></script>
</head><body onLoad=chgfond(col);>
<script language="javascript">document.write(col);</script>
<TABLE ID="tabid" BGCOLOR="blue" width="100%">
<td width="10%"> </td>
<td width="90%"> </td>
</table>
</body></html>
-----
@12C4 ... In medio stat virtus ...
Ipl
EUREKA!!!!!
ça marche enfin! trop fort!
Un grand merci à vous tous (ipl, Marden et les autres...) pour votre acharnement, c bien sympas!
Une des raison pour lesquelles ça ne marchait pas c que j'avais mis ça:
<body>
<script language="javascript">
document.write(col);
onLoad=chgfond(col);
</script>
au lieu de ça:
<body onLoad=chgfond(col);>
<script language="javascript">
<!--
document.write(col);
// -->
</script>
pour le début de ma balise BODY.
C'est fou quand même!!!
Va comprendre!
J'ai donc réussi à faire ma template avec un tableau qui change de couleur de fond!
Je viens maintenant vous resolliciter pour aller plus loin!
Je fais donc un site à base de la template en question:
mais j'aimerais que la couleur reste la meme pendant toute la visite d'une meme personne. En fait il faudrait que le random se fasse seulement au premier chargement, vous voyez ce que je veux dire?
Je sais pas si c jouable. Si vous avez une idée je suis preneur!
Je suis déjà bien content d'être arrivé à faire ce random!
Encore un énorme merci à tous.
Trop bon commentcamarche.net !
@+!
Nico.
:-)
ça marche enfin! trop fort!
Un grand merci à vous tous (ipl, Marden et les autres...) pour votre acharnement, c bien sympas!
Une des raison pour lesquelles ça ne marchait pas c que j'avais mis ça:
<body>
<script language="javascript">
document.write(col);
onLoad=chgfond(col);
</script>
au lieu de ça:
<body onLoad=chgfond(col);>
<script language="javascript">
<!--
document.write(col);
// -->
</script>
pour le début de ma balise BODY.
C'est fou quand même!!!
Va comprendre!
J'ai donc réussi à faire ma template avec un tableau qui change de couleur de fond!
Je viens maintenant vous resolliciter pour aller plus loin!
Je fais donc un site à base de la template en question:
mais j'aimerais que la couleur reste la meme pendant toute la visite d'une meme personne. En fait il faudrait que le random se fasse seulement au premier chargement, vous voyez ce que je veux dire?
Je sais pas si c jouable. Si vous avez une idée je suis preneur!
Je suis déjà bien content d'être arrivé à faire ce random!
Encore un énorme merci à tous.
Trop bon commentcamarche.net !
@+!
Nico.
:-)
Salut à Tous !
Toujours ds le but de résoudre ma petite problématique, je voudrais savoir s'il est possible d'accéder à une variable d'une page déclarée dans un JS à partir d'une autre page? Si non y'a t-il un autre moyen pour récupérer des infos d'une page à partir d'une autre page ?
D'avance merci.
@++
Nico
;-)
Toujours ds le but de résoudre ma petite problématique, je voudrais savoir s'il est possible d'accéder à une variable d'une page déclarée dans un JS à partir d'une autre page? Si non y'a t-il un autre moyen pour récupérer des infos d'une page à partir d'une autre page ?
D'avance merci.
@++
Nico
;-)
Bonsoir
Oui la solution existe. Voici un exemple :
Dans Page1, tu mets ceci :
<script>
var myVariable=10;
var fenetre=window.open("page2.html", "Page2","height=200,with=300");
</script>
Dans Page2, tu mets ceci :
<script>
self.opener.myVariable=20;
</script>
Ca ne marche que si les 2 pages sont sur le meme serveur.
A++
Oui la solution existe. Voici un exemple :
Dans Page1, tu mets ceci :
<script>
var myVariable=10;
var fenetre=window.open("page2.html", "Page2","height=200,with=300");
</script>
Dans Page2, tu mets ceci :
<script>
self.opener.myVariable=20;
</script>
Ca ne marche que si les 2 pages sont sur le meme serveur.
A++
Bonsoir Kopernicus, bonsoir à tous,
Ton post est très intéressant Kopernicus, mais je suis désolé, il doit y avoir une erreur car çà ne donne rien !
Il y a bien une erreur width au lieu de 'with' mais ce n'est pas çà !
Pourquoi affectes-tu la valeur 20 à myVariable ?
@12C4 ... In medio stat virtus ...
Ipl
Ton post est très intéressant Kopernicus, mais je suis désolé, il doit y avoir une erreur car çà ne donne rien !
Il y a bien une erreur width au lieu de 'with' mais ce n'est pas çà !
Pourquoi affectes-tu la valeur 20 à myVariable ?
@12C4 ... In medio stat virtus ...
Ipl
Rebonsoir à tous,
Voici le code rectifié :
Page1
<script><!--
var myVariable=1234;
var fenetre=window.open("Page2.html", "Page2","height=200,width=300");
//--></script>
Page2
<html><head>
<script><!--
document.write("myVariable="+self.opener.myVariable);
//--></script>
</head><body>
</body></html>
@12C4 ... In medio stat virtus ...
Ipl
Voici le code rectifié :
Page1
<script><!--
var myVariable=1234;
var fenetre=window.open("Page2.html", "Page2","height=200,width=300");
//--></script>
Page2
<html><head>
<script><!--
document.write("myVariable="+self.opener.myVariable);
//--></script>
</head><body>
</body></html>
@12C4 ... In medio stat virtus ...
Ipl
bonjour ipl, bonjour à tous,
C'est vrai que j'ai été un peu rapide. En affectant 20 à myVariable dans Page2, cela modifie du coup cette variable dans Page1. En fait, il ne se passait rien car je n'avais pas mis les affichages pour les tests, ce que tu as bien eu l'idée de corriger. Ce qu'il faut retenir, c'est que "self.opener" permet d'accéder dans une page à une variable issue d'une autre page. Ainsi, dans l'exemple ci-dessus, et pour répondre précisément à Nico, on pourrait récupérer myVariable dans Page2 comme ceci (comme l'a fait ipl dans son exemple) :
<script>
var myVariable2=self.opener.myVariable;
alert(myVariable2); // devrait afficher 10
</script>
Par contre cette méthode ne semble fonctionner qu'avec des fenetres popup (window.open) mais je n'ai pas vraiment poussé mes tests trop loin.
A++
C'est vrai que j'ai été un peu rapide. En affectant 20 à myVariable dans Page2, cela modifie du coup cette variable dans Page1. En fait, il ne se passait rien car je n'avais pas mis les affichages pour les tests, ce que tu as bien eu l'idée de corriger. Ce qu'il faut retenir, c'est que "self.opener" permet d'accéder dans une page à une variable issue d'une autre page. Ainsi, dans l'exemple ci-dessus, et pour répondre précisément à Nico, on pourrait récupérer myVariable dans Page2 comme ceci (comme l'a fait ipl dans son exemple) :
<script>
var myVariable2=self.opener.myVariable;
alert(myVariable2); // devrait afficher 10
</script>
Par contre cette méthode ne semble fonctionner qu'avec des fenetres popup (window.open) mais je n'ai pas vraiment poussé mes tests trop loin.
A++
Salut Kopernicus, Ipl et tous les autres!
Merci à vous deux pour votre super boulot concernant les variables.
Désolé d'émerger si tard j'ai pas eu le temps de bosser sur le site ces temps ci.
le JS marche vraiment bien, c'est top.
Comment trouver les paramètres possibles d'une fontion JS?
pour window.open, savez-vous si on peut la définir en full screen,
et si on peut régler la target: self, blank ....
Un grand merci à tous.
@++
Nico.
Merci à vous deux pour votre super boulot concernant les variables.
Désolé d'émerger si tard j'ai pas eu le temps de bosser sur le site ces temps ci.
le JS marche vraiment bien, c'est top.
Comment trouver les paramètres possibles d'une fontion JS?
pour window.open, savez-vous si on peut la définir en full screen,
et si on peut régler la target: self, blank ....
Un grand merci à tous.
@++
Nico.
bonjour Nico, bonjour à tous
window.open() a besoin de 3 arguments : le nom du fichier html, le titre de la fenetre et les paramètres d'affichage. Parmi ces derniers, il y a (en pixels) :
- width : largeur de la fenetre
- height : hauteur de la fenetre
- left : position de la fenetre par rapport au bord gauche de l'écran
- top : position de la fenetre par rapport au sommet de l'écran
Il y a aussi des options : toolbar, location, directories, menubar, scrollbars, resizable. Ca correspond à : barre d'outils, zone d'adresses, barre de menu, barre de défilement, dimentionnement.
Ces options prennent la valeur 0 ou 1 (ou no/yes).
Exemple :
window.open("page.htm", "LeTitre", "toolbar=0, location=0, directories=0, menuBar=0, scrollbars=0, resizable=0, height=300, width=500" );
A++
window.open() a besoin de 3 arguments : le nom du fichier html, le titre de la fenetre et les paramètres d'affichage. Parmi ces derniers, il y a (en pixels) :
- width : largeur de la fenetre
- height : hauteur de la fenetre
- left : position de la fenetre par rapport au bord gauche de l'écran
- top : position de la fenetre par rapport au sommet de l'écran
Il y a aussi des options : toolbar, location, directories, menubar, scrollbars, resizable. Ca correspond à : barre d'outils, zone d'adresses, barre de menu, barre de défilement, dimentionnement.
Ces options prennent la valeur 0 ou 1 (ou no/yes).
Exemple :
window.open("page.htm", "LeTitre", "toolbar=0, location=0, directories=0, menuBar=0, scrollbars=0, resizable=0, height=300, width=500" );
A++
Bonjour Nico, Kopernicus, bonjour à tous,
Kopernicus t'a donné les informations concernant window.open... super !
J'ajoute quelques petites choses :
>pour window.open, savez-vous si on peut la définir en full screen,
Oui, on peut aussi utiliser le paramètre FullScreen comme troisième paramètre de la fonction open,
>et si on peut régler la target: self, blank ....
Non, on ne peut pas utiliser target qui est une propriété de la balise A en Html, mais tout est dans le nom que tu donnes à ta fenêtre : s'il n'existe pas, tu crées une nouvelle fenêtre, si'il existe, tu mets le nouveau contenu dans la fenêtre existante !
Pour plus de détails, voici 2 liens :
- http://gerard.melone.free.fr/LaboWeb/Popup/MAX.html
- http://www.phpfrance.com/tutorials/index.php?id=59
@12C4 ... In medio stat virtus ...
Ipl
Kopernicus t'a donné les informations concernant window.open... super !
J'ajoute quelques petites choses :
>pour window.open, savez-vous si on peut la définir en full screen,
Oui, on peut aussi utiliser le paramètre FullScreen comme troisième paramètre de la fonction open,
>et si on peut régler la target: self, blank ....
Non, on ne peut pas utiliser target qui est une propriété de la balise A en Html, mais tout est dans le nom que tu donnes à ta fenêtre : s'il n'existe pas, tu crées une nouvelle fenêtre, si'il existe, tu mets le nouveau contenu dans la fenêtre existante !
Pour plus de détails, voici 2 liens :
- http://gerard.melone.free.fr/LaboWeb/Popup/MAX.html
- http://www.phpfrance.com/tutorials/index.php?id=59
@12C4 ... In medio stat virtus ...
Ipl
Salut Kopernicus, Ipl et les autres!
Pour les paramètres de la fonction window.open, est-il possible de définir width et height en % et non pas en pixels?
D'avance merci.
Nico.
Pour les paramètres de la fonction window.open, est-il possible de définir width et height en % et non pas en pixels?
D'avance merci.
Nico.
Resalut à tous !! lol
Ipl tu me disais que pour la cible sois je crées une new fenetre sois je mets le contenu dans la fenêtre existante.
Mais dans mon cas il faut que je récupére les données d'une variable et on a vu avec l'aide de Kopernicus qu'il fallait utiliser la fonction window.open qui ouvre systématiquement une new window. Y a t'il moyen de récupérer une variable d'une page précédente tout en gardant une fenêtre unique?
@++
Nico
;-)
Ipl tu me disais que pour la cible sois je crées une new fenetre sois je mets le contenu dans la fenêtre existante.
Mais dans mon cas il faut que je récupére les données d'une variable et on a vu avec l'aide de Kopernicus qu'il fallait utiliser la fonction window.open qui ouvre systématiquement une new window. Y a t'il moyen de récupérer une variable d'une page précédente tout en gardant une fenêtre unique?
@++
Nico
;-)
Bonjour Nico, bonjour à tous,
Tu peux rester dans la même fenêtre même avec window.open (il faut garder le même nom (deuxième paramètre) mais...
Je viens de faire quelques essais...
Je confirme ce que dit Kopernicus : au sein de la même fenêtre, on ne peut pas passer de variable (par cette méthode JS), par contre, il y a moyen de tricher si tu y tiens vraiment : ouvrir une nouvelle fenêtre et fermer l'ancienne !
@12C4 ... In medio stat virtus ...
Ipl
Tu peux rester dans la même fenêtre même avec window.open (il faut garder le même nom (deuxième paramètre) mais...
Je viens de faire quelques essais...
Je confirme ce que dit Kopernicus : au sein de la même fenêtre, on ne peut pas passer de variable (par cette méthode JS), par contre, il y a moyen de tricher si tu y tiens vraiment : ouvrir une nouvelle fenêtre et fermer l'ancienne !
@12C4 ... In medio stat virtus ...
Ipl
Ouai Ipl je veux bien tricher!!
Comment faire pour fermer l'ancienne fenêtre ?!
Merci.
@++! ;-)
Nico.
Comment faire pour fermer l'ancienne fenêtre ?!
Merci.
@++! ;-)
Nico.
Bonjour Nico, bonjour à tous,
... ah là là ! pouquoi suis-je allé proposer çà, moi ? ;-)
Pour ouvrir une fenêtre et fermer l'appelante, c'est facile mais l'inconvénient est qu'il y a une boîte de dialogue demandant confirmation... c'est pour faire sauter cette confirmation que c'est compliqué !
Il y a eu un superbe fil de discussion ici il y a à peu près un an : je crois que c'est PhP qui l'avait résolu ; je ne me souviens plus de la personne qui avait questionné (si j'avais son pseudo sous les yeux, je reconnaîtrais aussitôt mais...). Je tâche d'effectuer quelques recherches...
@12C4 ... In medio stat virtus ...
Ipl
... ah là là ! pouquoi suis-je allé proposer çà, moi ? ;-)
Pour ouvrir une fenêtre et fermer l'appelante, c'est facile mais l'inconvénient est qu'il y a une boîte de dialogue demandant confirmation... c'est pour faire sauter cette confirmation que c'est compliqué !
Il y a eu un superbe fil de discussion ici il y a à peu près un an : je crois que c'est PhP qui l'avait résolu ; je ne me souviens plus de la personne qui avait questionné (si j'avais son pseudo sous les yeux, je reconnaîtrais aussitôt mais...). Je tâche d'effectuer quelques recherches...
@12C4 ... In medio stat virtus ...
Ipl
Merci pour ton aide. Je pensais aussi à modifier bgcolor par javascript mais j'arrive pas à faire référence au tableau, et pourtant je lui ai donné un nom. Normalement la syntaxe c'est bien:
document.nomdutableau.bgcolor= Variable ?
@++ et merci.
Nico.
Non, à ma connaissance, le code à utiliser est plutôt :
document.nomdutableau.background-color = Variable
@12C4 ... In medio stat virtus ...
Ipl
Salut IPL et tt le monde!
J'ai utilisé background-color et je trouve mon script logique mais ça marche pas!! Si ça te dérange pas peux-tu jeter un coup d'oeil rapide?!
(lille est le nom de mon tableau)
J'ai pas précisé que je fais ça dans une template mais je pense pas que ça change grand chose?
D'avance merci.
@+
Nico.
<script language="javascript">
<!--
var col;
function chgfond(couleur)
{
window.document.lille.background-color=couleur;
}
function hasard()
{
var a;
a = 1+Math.round(Math.random()*4);
if (a==1) col="#B7DF00";
if (a==2) col="#FF37A6";
if (a==3) col="#FF2700";
if (a==4) col="#FFFF00";
}
hasard();
//-->
</script>
<!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->
</head>
<body>
<script language="javascript">
onLoad=chgfond(col);
document.write(col);<!-- pour vérifier le contenu de la variable --!>
</script>
2) - pour le choix des couleurs, on peut programmer :
var couleurs = new Array ( "#B7DF00", "#FF37A6", "#FF2700", "#FFFF00");
col = couleurs[Math.floor(Math.random()*couleurs.length)] ;
Pourtant je lui ai attribué un nom et j'appelle le tableau par son nom...
Nico.