IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

R�cup�rer la couleur de fond d'une cellule de tableau transparente


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut R�cup�rer la couleur de fond d'une cellule de tableau transparente
    Bonjour,

    J'ai un tableau sur lequel je n'ai d�fini aucune couleur de fond.
    Le tableau prend donc par d�faut la couleur de l'�l�ment parent qui n'est pas transparent.

    Je cherche � d�terminer cette couleur en partant d'une cellule de ce tableau.
    Est ce possible ?

    Merci

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    une boucle sur le parent jusqu'a trouver une couleur ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    getComputedStyle() et currentStyle ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    mais pourquoi n'as-tu pas acc�s directement � la couleur de ce parent?

  5. #5
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut
    Pour ce qui est de currentStyle, j'ai l'impression que cette propri�t� ne fonctionne pas. Ou alors je l'utilise mal.


    Pour r�cup�rer le bg color d'un �l�ment parent on fait bien :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById('monelement').parrentNode.style.backgroundColor
    ?

    mais pourquoi n'as-tu pas acc�s directement � la couleur de ce parent?
    Je n'ai acc�s que au contenu d'une page. Et le design peut �tre chang� � volont�. Bien sur aucun css n'est identique et les design ne sont jamais structur� de la m�me fa�on.

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Citation Envoy� par Seb33300
    Pour ce qui est de currentStyle, j'ai l'impression que cette propri�t� ne fonctionne pas. Ou alors je l'utilise mal.
    currentStyle pour IExplorer
    et
    getComputedStyle pour les W3C-ziens

    document.getElementById('monelement').parrentNode.style.backgroundColor
    plusieures remarques :
    - il y a un r en trop.

    - si c'est la TABLE qui poss�de le style un simple parentNode ne te fera remonter que jusqu'� la TR parente, il te faut donc remonter l'arbre jusqu'au parent ultime.

    - style.backgroundColor ne te donnera une indication que si le style est plac� dans la balise, mais pas dans la feuille de style.

  7. #7
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut
    Citation Envoy� par NoSmoking Voir le message
    style.backgroundColor ne te donnera une indication que si le style est plac� dans la balise, mais pas dans la feuille de style.
    Oui, pour �a je sais, mais par contre est ce que getComputedStyle / currentStyle me renvoie la valeur du style.backgroundColor si celui ci est d�finie ? Ou alors il renvoi uniquement la valeur du style d�finie dans les balises <style> et du coup, je suis oblig� de v�rifier au 2 endroits.

  8. #8
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    currentStyle et getComputedStyle, sont ind�pendant de la position de la d�claration des attributs de style, balise ou feuille de style.

  9. #9
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut
    Voila un fonction qui semble fonctionner :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    function recursiveBgColor(e){
    	if(e.currentStyle){
    		if
    			(
    				(e.currentStyle.backgroundColor == 'transparent')
    				|| (e.currentStyle.backgroundColor == 'rgba(0, 0, 0, 0)')
    				|| (e.currentStyle.backgroundColor == '')
    			)
    		{
    			return recursiveBgColor(e.parentNode);
    		}else{
    			return e.currentStyle.backgroundColor;
    		}
    	}else if(window.getComputedStyle){
    		if
    			(
    				(window.getComputedStyle(e, null).backgroundColor == 'transparent')
    				|| (window.getComputedStyle(e, null).backgroundColor == 'rgba(0, 0, 0, 0)')
    				|| (window.getComputedStyle(e, null).backgroundColor == '')
    			)
    		{
    			return recursiveBgColor(e.parentNode);
    		}else{
    			return window.getComputedStyle(e, null).backgroundColor;
    		}
    	}
    }
    Par contre il y a un cas ou j'ai quelques soucis mais je ne sais as si je vais pouvoir y faire grand chose.
    Lorsque le fond est une image...

  10. #10
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    perso j'aurais fait une fonction getStyle et une fonction de recherche, ce qui permet effectivement de tester plusieurs cas possibles, comme ton cas de backgroundImage.

  11. #11
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut
    Le probl�me c'est qu'une image n'est pas forc�ment un fond de couleur unie...
    Donc dans tous les cas je pourrais pas me baser sur une image.

    Et si le th�me est bien fait, un couleur est aussi d�finie en m�me temps que l'image...

  12. #12
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Citation Envoy� par Seb33300
    Et si le th�me est bien fait, un couleur est aussi d�finie en m�me temps que l'image...
    dans ce cas il faut faire avec les deux, c'est la moindre des choses.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 26/08/2010, 08h20
  2. Modifier couleur de fond d'une cellule d'un tableau dynamiquement.
    Par fred61 dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 27/03/2009, 02h19
  3. Couleur de fond d'une cellule variable
    Par Cafu3 dans le forum D�buter
    R�ponses: 2
    Dernier message: 19/03/2009, 10h56
  4. [VB.NET][DataGridView]:couleur de fond d'une cellule
    Par BigTicket42 dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 13/05/2008, 22h07
  5. mise � jour de la couleur de fond d'une cellule
    Par Lady_jade dans le forum G�n�ral JavaScript
    R�ponses: 10
    Dernier message: 02/11/2005, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo