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 :

Afficher/masquer une partie d'un tr au survol de la souris


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 71
    Par défaut Afficher/masquer une partie d'un tr au survol de la souris
    Bonjour !

    IE n'acceptant pas les td:hover en css, je cherche un moyen d'obtenir l'effet suivant en javascript:
    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
     
     
    <style>
     
    table{width:100%;}
     
    table tr:hover {background:#888;}
     
    td span {display: none;}
     
    td:hover span {display : inline;}
    </style>
    <table>
    	<tr><td><a href="#">keup1 1</a> <span><a href="#">M</a> Fr F <a href="#">x</a></span> </td> </tr>
    	<tr><td><a href="#">keup1 2</a> <span><a href="#">M</a> Fr F <a href="#">x</a></span></td> </tr>
    	<tr><td><a href="#">keup1 3</a> <span><a href="#">M</a> Fr F <a href="#">x</a></span></td> </tr>
    </table>

    Le mieux que j'arrive a faire, c'est de faire disparaitre la ligne complete avec le code suivant:

    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
     
    <style>
    table{width:100%;text-align:center}
    .cache{display: none ;}
    .surligne{background:#888;}
    </style>
     
     
    <script type="text/javascript">
     
    function changeCouleurTr()
     
    {
    	var ligne=document.getElementsByTagName('tr');
    	for(var j=0;j<ligne.length;j++)
    	{
    		ligne[j].onmouseover=function(){
    			this.className='surligne';
    		};
    		ligne[j].onmouseout=function(){
    			this.className='cache';
    		};
    	}
    }
    document.onmousemove=changeCouleurTr;
     
    </script>
    <table>
    	<tr><td><a href="#">blog 1</a></td> <td><a href="#">M</a></td> <td>Fr</td> <td><a href="#">F</a></td> <td><a href="#">x</a></td> </tr>
    	<tr><td><a href="#">blog 2</a></td> <td><a href="#">M</a></td> <td>Fr</td> <td><a href="#">F</a></td> <td><a href="#">x</a></td> </tr>
    </table>

    Quelqu'un aurait une solution ? Merci !

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    tu ne pourras pas simplement mettre un display:none sur un <td> car cela impacte la structure de la table qui deviendrait incohérente ...
    En masquer le contenu (à mettre dans un span que tu passeras en visibility:hidden) ne suffirait pas ?

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 71
    Par défaut
    Si effectivement, je sais pas trop dans quoi je voulais partir la !

    Cependant il me reste un dernier problème (et c'est la que vous allez voir ma nullité en js :p):

    Comment atteindre un span compris dans mon tr?

    Mon code se presente maintenant comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <tr><td><a href="#">test 1</a> <span>FOO</span> </td></tr>
    J'ai pensé a un ' this.span.class="cache" ' mais cela n'a pas l'air de marcher.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Kefass Voir le message
    Comment atteindre un span compris dans mon tr?
    Si tu veux faire ça par un onclick sur le td :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="this.getElementsByTagName('span')[0].className='cache';"
    A+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 71
    Par défaut
    Merci beaucoup pour ton aide, cela marche parfaitement !

    Voici le code si ca peut aider quelqu'un ...

    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
     
     
    <style>
    table{width:100%;text-align:center}
    .surligne{background:#888;}
    .hidden{visibility:hidden}
    .visible{visibility:visible}
    </style>
    <script type="text/javascript">
    function afficherOption()
    {
    	var ligne=document.getElementsByTagName('tr');
    	for(var j=0;j<ligne.length;j++)
     
    	{
    		ligne[j].onmouseover=function(){
    			this.className='surligne';
    			this.getElementsByTagName('span')[0].className='visible';
    		};
    		ligne[j].onmouseout=function(){
    			this.className='defaut';
    			this.getElementsByTagName('span')[0].className='hidden';
    		};
    	}
    }
    document.onmousemove=afficherOption;
    </script>
     
    	<h3>Amis</h3>
    		<table>
    			<tr><td><a href="#">amis 1</a> <span class="hidden"><a href="#">M</a> Fr <a href="#">F</a> <a href="#">x</a></span> </td></tr>
    			<tr><td><a href="#">amis 2</a> <span class="hidden"><a href="#">M</a> Fr <a href="#">F</a> <a href="#">x</a></span> </td></tr>
    			<tr><td><a href="#">amis 3</a> <span class="hidden"><a href="#">M</a> Fr <a href="#">F</a> <a href="#">x</a></span> </td></tr>
    	</table>

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

Discussions similaires

  1. afficher/masquer une partie d'un formulaire jsp
    Par maroosoft dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/01/2009, 13h47
  2. [Sécurité] Masquer une partie de site web avec PHP
    Par Marc365 dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2005, 15h30
  3. Afficher / Cacher une partie d'un formulaire
    Par damjal dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/10/2005, 18h10
  4. Masquer une partie du formulaire
    Par Neuromancien2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/01/2005, 14h23
  5. Réponses: 2
    Dernier message: 09/10/2004, 20h45

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