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 :

On mouse Over plusieurs cellules


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Points : 47
    Points
    47
    Par défaut [Résolu] On mouse Over plusieurs cellules
    Bonjour,

    Je souhaiterais lors du survol d'une cellule que plusieurs cellules changent de couleur!
    Mon code marche pour une cellule :
    dans le head
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    td.on { background-color: #ffffff; }
    td.off { background-color: green; }
    dans le body
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ...
    <td style="border:1px solid black;" class="off" onmouseover="className='on';" onmouseout="className='off';">
    			<img style="height:60px;width:60px" src="images/pieces/img.gif" alt="B8" />
    		</td>
    		<td style="border:1px solid black;">
    			<img style="height:60px;width:60px" src="images/pieces/img.gif" alt="B8" />
    		</td>
    ...
    J'aimerais que lorsque je passe la souris sur le 1er td, les deux td changent de couleur

    Merci de m'aiguiller.

    Cordialement;
    Nico.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 119
    Points
    119
    Par défaut
    salut,

    Il y a un truc, je ne sais pas si c'est bien mais ca marche, colle tes class et onmouse sur le TR, adapte ton style en remplacant TD par TR et voila.

    comme ca :
    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
     
    <style>
    tr.on { background-color: #ffffff; }
    tr.off { background-color: green; }
    </style>
     
    <table>
    	<tr class="off" onmouseover="className='on';" onmouseout="className='off';">
    		<td style="border:1px solid black;" >
    			<img style="height:60px;width:60px" src="images/pieces/img.gif" alt="B8" />
    		</td>
    		<td style="border:1px solid black;">
    			<img style="height:60px;width:60px" src="images/pieces/img.gif" alt="B8" />
    		</td>
    	</tr>
    </table>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Points : 47
    Points
    47
    Par défaut ^^
    Ce n'est pas exactement ce que je souhaite.
    En fait c'est un exemple light que j'ai donné. Par la suite je compte changer la couleur de fond sur plusieurs td que je choisirais.
    Merci.

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Piste et exemple
    Salut,

    A mon avis l'emplacement de tes événements dépend de ce que tu veux faire: le plus ouvert est de poser les événements sur la table, de récupérer la cellule survolée et de prendre ensuite une décision. Mais tu peux aussi rester au niveau de la ligne:
    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
    <html>
      <head>
        <style type="text/css">
         .on { background-color: #ffffff; }
         .off { background-color: green; }
        </style>
        <script type="text/javascript">
        function doMO(td,cls) {
          //gérons en même temp arbitraiement la... troisième cellule
          td3 = td.parentNode.cells[2]; 
          td.className=td3.className = cls;
        }
        </script>
      </head>
      <body>
        <table border="1" >
         <tr>
          <td class="off" onmouseover="doMO(this,'on');" onmouseout="doMO(this,'off');">Cellule 1.1</td>
          <td>Cellule 1.2</td>
          <td>Cellule 1.3</td>
         </tr>
         <tr>
          <td class="off" onmouseover="doMO(this,'on');" onmouseout="doMO(this,'off');">Cellule 2.1</td>
          <td>Cellule 2.2</td>
          <td>Cellule 2.3</td>
         </tr>
         <tr>
          <td class="off" onmouseover="doMO(this,'on');" onmouseout="doMO(this,'off');">Cellule 3.1</td>
          <td>Cellule 3.2</td>
          <td>Cellule 3.3</td>
         </tr>
        </table>
      </body>
    </html>
    ERE
    Quand une tête pense seule, elle devient folle.

  5. #5
    Membre habitué Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Points : 141
    Points
    141
    Par défaut
    Sinon tu ajoutes ton event sur ta row direct si tu souhaites quelquechose sur toutes tes td d'une meme ligne.
    DiDi

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Points : 47
    Points
    47
    Par défaut ^^
    Bonjour,

    Merci beaucoup emmanuel.remy de ces informations.
    Je pense pouvoir m'en sortir avec ce code. Il ne reste plus qu'a adapter à mon cas.

    Est - possible au survol de la cellule 1.1 que la cellule 3.3 change de couleur ?

    Cordialement,
    Nico.

  7. #7
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Citation Envoyé par Nicolas94 Voir le message
    Bonjour,

    Merci beaucoup emmanuel.remy de ces informations.
    Je pense pouvoir m'en sortir avec ce code. Il ne reste plus qu'a adapter à mon cas.

    Est - possible au survol de la cellule 1.1 que la cellule 3.3 change de couleur ?

    Cordialement,

    Nico.
    Par exemple quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        function doMO(td,cls) {
          if (td.cellIndex==0 && td.parentNode.rowIndex==0) {       
               td3_3 = td.parentNode.parentNode.rows[2].cells[2]; 
                td.className=td3_3.className = cls;
          }
        }
    ERE
    Quand une tête pense seule, elle devient folle.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Points : 47
    Points
    47
    Par défaut ^^
    Bonsoir,

    Merci beaucoup pour ce complément d'information.
    Je vais abuser de vos connaissances en javascript sur un dernier point.

    Pouvons nous via le survol de la cellule1.1 changer la couleur de plusieurs cellules, comme par exemple 2.2 et 3.3

  9. #9
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Re,
    Citation Envoyé par Nicolas94 Voir le message
    Bonsoir,

    Merci beaucoup pour ce complément d'information.
    Je vais abuser de vos connaissances en javascript sur un dernier point.

    Pouvons nous via le survol de la cellule1.1 changer la couleur de plusieurs cellules, comme par exemple 2.2 et 3.3
    Il suffit d'adapter à plusieurs cellules...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function doMO(td,cls) {
          if (td.cellIndex==0 && td.parentNode.rowIndex==0) {       
               var td3_3 = td.parentNode.parentNode.rows[2].cells[2]; 
                td.className=td3_3.className = cls;
     
               //pour changer un peu ...
               var td2_2 = td.parentNode.parentNode.rows[1].cells[1];
               td2_2.style.backgroundColor="Yellow";
     
          }
        }
    Juste pour repréciser, tout cela n'est que démonstration, il faut ensuite adapter, optimiser etc...

    Bon dev,

    ERE
    Quand une tête pense seule, elle devient folle.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Points : 47
    Points
    47
    Par défaut ^^
    Merci beaucoup pour toutes ces infos.
    Je clôture le post.

  11. #11
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Perso depuis que j'ai decouvert hover:whatever je ne m'embarasse plus des onmouseover et onmouseout...
    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 !

  12. #12
    Membre habitué Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Points : 141
    Points
    141
    Par défaut
    IE n'a - t-il pas du mal avec hover ?
    DiDi

  13. #13
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    @SpaceFrog: depuis que j'ai découvert ton message je m'embêterai beaucoup moins et cela m'inspire pas mal.. Mais reste toujours le souci quand tu as besoin d'effectuer un traitement "complexe" (si .... alors) .

    ERE
    Quand une tête pense seule, elle devient folle.

  14. #14
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    oui le whatever:hover permet principalement de rendre le hover sur tout objet crossbrowser et accessoirement aussi d'aplanir les souci d'heritage des sous elements d'id ...
    Cela permet de réaliser le hover classique css et non le rollover conditionnel js
    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 !

  15. #15
    Membre habitué Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Points : 141
    Points
    141
    Par défaut
    Tant que l'on est dans la discussion, tu aurais un lien pour approfondir tout ça ? Merci d'avance
    DiDi

  16. #16
    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 669
    Points
    66 669
    Billets dans le blog
    1
    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 !

  17. #17
    Membre habitué Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Points : 141
    Points
    141
    Par défaut
    ça au moins c'est fais XD J'adore ce bashage avec google j'avais jamais vu .
    Si je te posais la question s'était si t'avais un bon sous la main, sinon je vais m'en trouver un ya pas de soucis. Merci :p
    DiDi

  18. #18
    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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    :grin:

    pas un bon lien, LE lien vers le site de l'auteur... le premier dans google

    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 !

  19. #19
    Membre habitué Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Points : 141
    Points
    141
    Par défaut
    Ok je suis passé dessus, j'avais rapidement survolé déjà l'idée, si elle est si bien exploitable je pense que je vais me pencher plus souvent dessus aussi
    Merci de l'infos
    DiDi

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

Discussions similaires

  1. [VBA-E]selectionner plusieurs cellules sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/02/2006, 14h57
  2. saisir plusieurs cellules dans un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2006, 17h56
  3. Sélectionner plusieurs cellules d'un DBGrid
    Par chill667 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/11/2005, 11h43
  4. Les images clignotes lors du Mouse over
    Par The Bat ! dans le forum C++Builder
    Réponses: 4
    Dernier message: 30/05/2005, 10h37
  5. Equivalent on mouse over en CSS
    Par pmithrandir dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 25/04/2005, 14h10

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