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 :

Survoler 02 lignes au même temps appartenant à 02 tableaux séparés


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut Survoler 02 lignes au même temps appartenant à 02 tableaux séparés
    Bonjour à tous ;

    Quelqu'un peut m'indiquer comment surligner, au survole, 02 lignes au même temps, appartenant à 02 tableaux séparés, en utilisant javascript et onMouseOver / onMouseOut.

    L'objectif est d'amener le lecteur à lire dans les 02 lignes au même temps car leur contenu se complète.

    le code suivant me permet juste de surligner un des 02 lignes, au passage du curseur, et non les 02 à la fois .

    NB:
    - la surbrillance doit apparaître quelque soit la ligne survolée dans les 02 tableaux en sachant qu'elle (la ligne) sera toujours dans le même niveau (1,2,3...) que l'autre ligne sur l'autre tableau

    j'ai placé une class : surb dans les 02 tableaux
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <table border ="1" cellpadding = "7" align = "center" style="font-weight: bold; text-align:center;" class ="surb" >
    <tr>
    <td><?php echo $queryResult['suplmji']; ?></td>
    <td><?php echo $queryResult['infajtmji']; ?></td>
    <td><?php echo $queryResult['ajtmji']; ?></td>
    <tr>
    </table>
    <table border ="1" cellpadding = "7" align = "center" style="font-weight: bold; text-align:center;" class ="surb" >
    <tr>
    <td><?php echo $queryResult['suplmji']; ?></td>
    <td><?php echo $queryResult['infajtmji']; ?></td>
    <td><?php echo $queryResult['ajtmji']; ?></td>
    <tr>
    </table>

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .surb tr:hover {
    cursor:pointer;
    background:red;
    }

    Merci d'avance

  2. #2
    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
    Je te propose un truc un peu relou:

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    .red {background:red;cursor:pointer;}


    Code javascript : 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
    const tr=document.querySelectorAll(".surb tr");
    tr.forEach((v,i,t)=>{
    	const m=t.length/2;
    	v.addEventListener("mouseover",()=>{
    		v.classList.add("red");
    		if(i<m){
    			tr[i+m].classList.add("red")
    		}
    		else{
    			tr[i-m].classList.add("red")
    		}
    	})
    	v.addEventListener("mouseout",()=>{
    		v.classList.remove("red");
    		if(i<m){
    			tr[i+m].classList.remove("red")
    		}
    		else{
    			tr[i-m].classList.remove("red")
    		}
    	})
    })

    Pas trouvé plus simple pour l'instant;

    A part ça, évite de mêler css et html...

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut Par défaut Survoler 02 lignes au même temps appartenant à 02 tableaux séparés
    Salut;

    Merci pour le code je vais le copier tel qu'il est mais pour le code css tu voulais dire : .surb {background:red;cursor:pointer;} et non .red {background:red;cursor:pointer;} à moins de vouloir l'inclure dans le <tr class="red" >.

    je vais essayer les 02 cas

  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
    Non non, je voulais dire ce que j'ai écrit;

  5. #5
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut
    le code précédent n; a pas marché peut être je n'ai pas su le reprendre mais j'ai pu avancer, sans résoudre mon Pb, avec 02 méthodes différentes :

    A - sans l'emploi de javascript, elle permet de surligner la ligne voulus dans chaque tableau mais pas les 02 à la fois voilà le code:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table border = "1" cellpadding = "7" align = "center" style="font-weight: bold; text-align:center;">
     
    <tr onMouseOver = "this.style.cursor='hand'; this.bgColor = 'orange'" onMouseOut ="this.bgColor = 'FFFFF'" >
    <tr onMouseOver = "this.style.cursor='hand'; this.bgColor = 'orange'" onMouseOut ="this.bgColor = 'FFFFF'" >
     
    <table border = "1" cellpadding = "7" align = "center" style="font-weight: bold; text-align:center;">
    Avantage :
    - surbrillance de la ligne entière et non pas la case <td> seulement
    - pas de classe ni de Id à inclure
    Inconvénient : comment lier les 02 lignes au même temps sans java?

    B - avec emploi du javascript, là aussi je peux passer la surbrillance sur les 02 lignes mais pas à la fois aussi seule la case <td> survolée prend la couleur
    ici j'ai inclut un ID à chaque <tr>
    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
     let teste = document.getElementById("teste");
     
    // Ce gestionnaire ne sera exécuté qu'une fois
    // lorsque le curseur se déplace sur la liste
    teste.addEventListener("mouseenter", function( event ) {   
      // on met l'accent sur la cible de mouseenter
      event.target.style.color = "purple";
     
      // on réinitialise la couleur après quelques instants
      setTimeout(function() {
        event.target.style.color = "";
      }, 500);
    }, false);
     
    // Ce gestionnaire sera exécuté à chaque fois que le curseur
    // se déplacera sur un autre élément de la liste
    teste.addEventListener("mouseover", function( event ) {   
      // on met l'accent sur la cible de mouseover
      event.target.style.color = "orange";
     
      // on réinitialise la couleur après quelques instants
      setTimeout(function() {
        event.target.style.color = "";
      }, 500);
    }, false);
    Bon peut être qu à partir de ces exemples je peux développer le script et faire briller les 02 lignes ?

  6. #6
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2020
    Messages : 25
    Par défaut
    Oups petite erreur sur le 01 code il faut lire plutôt :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <table border = "1" cellpadding = "7" align = "center" style="font-weight: bold; text-align:center;">
    <tr onMouseOver = "this.style.cursor='hand'; this.bgColor = 'orange'" onMouseOut ="this.bgColor = 'FFFFF'" >
    <td><?php echo str_replace ($_POST['search'], '<span style="font-weight:bold;color:red;">'.$_POST['search'].'</span>', $queryResult['idfsrc']); ?></td>
    </tr>
    </table>
     
    <table border = "1" cellpadding = "7" align = "center" style="font-weight: bold; text-align:center;">
    <tr onMouseOver = "this.style.cursor='hand'; this.bgColor = 'orange'" onMouseOut ="this.bgColor = 'FFFFF'" >
     <td><?php echo str_replace ($_POST['search'], '<span style="font-weight:bold;color:red;">'.$_POST['search'].'</span>', $queryResult['suplmje']); ?></td>
    </table>

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

Discussions similaires

  1. [XL-2010] Sélectionner plusieurs ligne en même temps
    Par Mrfreeze117 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/01/2015, 14h54
  2. Réponses: 2
    Dernier message: 01/05/2011, 12h31
  3. Editer plusieurs lignes en même temps dans Eclipse
    Par fourchette dans le forum Eclipse
    Réponses: 2
    Dernier message: 26/01/2011, 12h48
  4. Insertion de plusieurs lignes en même temps
    Par hajoura89 dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 26/08/2010, 14h01
  5. Insérer plusieurs lignes en même temps.
    Par palisse dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 08/08/2008, 00h47

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