Gestion de cellule dynamique

Résolu
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 - 2 janv. 2011 à 22:26
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 - 3 janv. 2011 à 11:27
Bonjour à tous !
J'ai une petite question à propos d'un tableau dynamique que j'ai créé à l'aide de le code suivant.
Je cherche à colorer le fond des premières/dernières lignes/colonnes (pour que le tableau semble "encadré").
J'ai essayé plusieurs solution mais je n'arrive pas à tout combiner.
Si vous pouviez m'aider...

function cellule(){
}
function initGrille(){
var i,j;
grille = [];
for(i=0;i<taille;i++){
grille[i] = [];
for(j=0;j<taille;j++){
grille[i][j] = new cellule();
}
}
}
function creation(){
var i,j;
var table = document.createElement("table");
for(i=0;i<taille;i++){
var ligne = document.createElement("tr");
for(j=0;j<taille;j++){
var cellule = document.createElement("td");
ligne.appendChild(cellule);
}
table.appendChild(ligne);
}
document.body.appendChild(table);
}
[fonction d'affichage HTML]



Merci à tous et bonne année à la communauté CS.

2 réponses

seblechinois Messages postés 72 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 16 mai 2016 1
3 janv. 2011 à 08:53
Bonjour,

Il faut changer le bgColor ou le style de l'objet cellule, seulement sur les cellules du tour (i=0, j=0, ...) exemple :

for(j=0;j<taille;j++){
var cellule = document.createElement("td");
//Que les cellules du tour
if(i 0 || j 0 || j == taille - 1 || i == taille - 1){
//cellule.bgColor = '#555555';
cellule.style.backgroundColor
 = '#555555';
}
ligne.appendChild(cellule);
}


Cordialement

3
cs_JackNUMBER Messages postés 233 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 26 juin 2011 5
3 janv. 2011 à 11:27
Hoooo ! Parfait !!!!
J'avais trouvé une autre méthode mais un peu lourde.


for(i=0;i<taille;i++){
if(j="0")
grille[i][j].out = true;
if(j=taille-1)
grille[i][j].out = true;
}
for(j=0;j<taille;j++){
if(i="0")
grille[i][j].out = true;
if(i=taille-1)
grille[i][j].out = true;
}


avec ceci dans la fonction d'affichage html:
if(grille[i][j].out)
cellules[i*taille+j].cellule.style.backgroundColor='#ff0000';



Mais ta méthode est plus rapide.
Merci à toi
0
Rejoignez-nous