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 :

[DOM] Evenement : colorier des cases construite avec DOM


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut [DOM] Evenement : colorier des cases construite avec DOM
    Bonjour

    (Voici un code qui dira qq chose a SpaceFrog)

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <html>
    <head>
    <style>
    .case_mois{
      border: 2px solid #4575b8;
      border-collapse:collapse;
      text-align:center;
      font-size:8pt;
      width:20px;
     }
    </style>
    <script>
        function start() {
    		jour_mois = new Array("D","L","M","M","J","V","S","D","L","M","M","J","V","S","D","L","M","M","J","V","S","D","L","M","M","J","V","S");
     
    		var row = document.createElement("tr");
     
    		for (var i = 1; i <= 28; i++) {
    				cell = document.createElement("td");
     
    			cell.innerHTML=jour_mois[i-1];
    			cell.className = "case_mois";	
    			row.appendChild(cell);
    		 }
     
    		document.getElementById('innerTable').getElementsByTagName('tbody')[0].appendChild(row);
    		document.getElementById('id_du_tbody').style.width="100%";	
        }
    </script>
    </head>
    <body onload="start()">
    <table  height="323" border="1" cellpadding="0" cellspacing="0" >
      <tr>
        <td style='cursor:pointer;' onclick=""><center>cliquer dans cette case</center></td>
      </tr>
      <tr>
        <td ><table id="innerTable" cellpadding="0" cellspacing="0" width="560px"><tbody id="id_du_tbody"></tbody></table></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    J'ai un tableau construit côté navigateur via DOM, je voudrais pouvoir faire en sorte qu'en cliquant sur la case (la ou se trouve le texte "cliquer dans cette case"), toutes les cases construites soient coloriées en vert

    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    il suffirait juste de donner un id au tr créé dynamiquement et puis:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var TabNewTds=document.getElementById('trdyn').getElementsByTagName('td');
    var TL=TabNewTds.length
    for(i=0;i<TL;i++){
         TabNewTds[i].style.backgroundColor='blue';
    }

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut
    Merci SPaceFrog, ca marche nickel.

    Mais je voudrais faire encore une dernière petite chose. Si qq'un a une idée, c'est relativement complexe.

    Je ne veux plus me servir du bouton pour colorier mes cases. Maintenant je voudrais les colorier en passant la souris sur mes cases (le bouton de la souris étant enfoncé). lorsque le bouton de la souris n'est plus enfoncé, le mouseover ne colorie plus les cases quand on passe dessus. Et quand on refait un mousedown, le mouseover recolorie mes cases

    J'espère avoir été assez clair

    Merci

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut
    En fait, pour etre plus précis. Je voudrais reproduire le comportement d'un mouseover mais avec bouton de souris enfoncé.

    Merci de votre aide. Je ne sais pas trop quelle astuce trouver.

  5. #5
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    oulà ça va être tricky aprcequ'il va falloir chopper le onmousedown sur tous les objets de la page ...

    le principe :

    sur le onmousedown tu mets un flag à true

    et sur le onmouseup tu le mets à false

    et dans ta fonction de coloriage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (flag){
       le coloriage}
    donc si la souris n'est pas enfoncée ton flag sera à false et le coloriage ne se fera pas

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Points : 185
    Points
    185
    Par défaut
    Merci SpaceFrog, j'ai utilisé ta méthode. C'était pas bien compliqué en fait ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. colorier des cases dans une matrices
    Par benoit_gyf dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/06/2014, 18h46
  2. [Smarty] Manipulation des cases à cocher avec Smarty
    Par lajmi dans le forum Bibliothèques et frameworks
    Réponses: 24
    Dernier message: 21/10/2011, 16h02
  3. Réponses: 4
    Dernier message: 24/05/2009, 13h06
  4. {VBA Excel} Colorier des cases selon la valeur dans une autre
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2008, 09h56
  5. [DOM] Php5 : créer un fichier xml avec Dom
    Par devadh dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/01/2007, 14h04

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