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 :

Disparition du menu quand l'article n'est plus survolé.


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut Disparition du menu quand l'article n'est plus survolé.
    Bonjour à vous,

    en fait, les 3 petits points du menu apparaissent quand on survole l'article. Une fois qu'on ne survole plus l'article, les 3 petits points disparaissent.

    Dans mon cas, quand je survole l'article et que je clique sur les 3 petits points, le menu apparaît. Par contre, quand je ne survole plus l'article en question, j'aimerais que ce menu disparaisse en même temps que les 3 petits points.

    Je suppose que ce n'est pas possible de faire cela en CSS et que je dois utiliser du javascript ?

    Voici une copie de mon code :

    https://codepen.io/thirt/pen/ZgqrBp?editors=0010

    Merci d'avance

    Bonne journée
    Thierry

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    pour éviter que "ça saute" au survol, je te conseille d'utiliser visibility:hidden/visible; plutôt que display:none/block;.
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .article .dropbtn {
      display:block;
      visibility:hidden;
    }
    .article:hover .dropbtn {
      visibility:visible;
    }
    Dernière modification par ProgElecT ; 12/08/2019 à 20h45.

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut
    Bonjour jreaux62,

    encore une fois, je tenais à vous remercier pour votre aide, votre disponibilité et vos conseils.

    C'est vrai que c'est nettement mieux d'utiliser visibility:hidden/visible à la place de display:none/block dans ce cas-ci.

    Je vais donc ajouter une classe en javascript qui va me permettre de cacher le menu quand on ne survole plus l'article.

    Bonne journée à vous,
    Thierry

  4. #4
    Invité
    Invité(e)
    Par défaut
    Une solution full CSS à ta problématique :
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .article .show { display:block; }
    .article:not(:hover) .show {
      display:none; 
    }

    CONSEIL : à ta place, je laisserais les 3 points TOUJOURS visibles *.
    Ergonomiquement, c'est mieux (surtout sur écran tactile).
    Inutile de jouer à cache-cache...

    * Par contre, peut-être jouer sur le fond de couleur sur le :hover (sur l'article) ?
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .article:hover .dropbtn {
        background-color: #ccc;
    }
    .article .dropbtn:hover, .article .dropbtn:focus {
        background-color: #2980B9;
    }
    Dernière modification par ProgElecT ; 12/08/2019 à 20h45.

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut
    Bonjour jreaux62,

    encore une fois, merci beaucoup pour ton aide et tes conseils qui sont toujours aussi précieux. -

    Je vais y regarder et tenir compte de tes conseils.

    Bon dimanche.
    Thierry

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut
    Bonjour jreaux62,

    encore une fois, merci pour votre aide et vos conseils.

    Finalement, j'ai changé d'avis. En fait, j'aimerais que les 3 petits points restent affichés si le menu est affiché et qu'on ne survole plus l'article. Par contre, si le menu n'est pas affiché, j'aimerais que les 3 petits points disparaissent si l'article n'est plus survolé.

    En fait, je me demande s'il y a moyen de faire cela uniquement en CSS. SI on ne survole plus l'article .article:not(:hover) et que le menu est toujours montré à l'écran (si la classe show existe, cela signifie que le menu est toujours montré à l'écran) alors, à ce moment-là, je dis que les 3 petits points doivent rester affichés.

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .article:not(:hover) .show {
      visibility: visible; 
    }

    Malheureusement, les 3 petits points disparaissent quand je ne survole plus l'article malgré le fait que le menu est toujours affiché.

    Dois-je faire cela automatiquement en javascript ?

    Voici une version de mon code pour que vous puissiez voir ce que ça donne actuellement :

    https://codepen.io/thirt/pen/wVbdbp?editors=0010

    Merci d'avance

    Bonne fin de journée
    Thierry

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- as-tu conscience que sur écran tactile *, la notion de "hover" n'a pas vraiment de sens ?

    Sur écran tactile, il faut absolument "toucher" l'article pour que les 3 points apparaissent.
    Ce n'est pas ergonomique, car on peut scroller l'écran SANS forcément "toucher" les articles.
    Du coup, on ne voit PAS les 3 points...

    2- Et rendre le code plus complexe pour obtenir des "effets gadget", au détriment de l'ergonomie, n'est pas une bonne pratique, ni une bonne idée.

    Revois tes "priorités"...

    3- Par contre, le "click" est tout-à-fait indiqué, et recommandé.


    * Ça ne concerne pas/plus que les smartphones, puisqu'on trouve maintenant de grands écrans tactiles (15"->27" et +).

    [EDIT] Sinon, si tu t'entêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('.container').on('mouseleave', '.article', function(e){
      $('.dropdown-content').removeClass('show');
    });
    Dernière modification par Invité ; 12/08/2019 à 17h11.

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut
    Bonjour jreaux62,

    encore merci pour votre aide et vos conseils.

    En effet, comme d'habitude, vous avez raison.

    En fait, dans un premier, je comptais m'attaquer à la version laptop plutôt que smartphone. C'est pour cette raison que je voulais essayer de faire cela de cette façon.

    Merci d'avance

    Bonne journée
    Thierry

  9. #9
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut
    Bonjour jreaux62,

    finalement, j'ai tenu compte de vos précieux conseils et je laisse afficher les 3 petits points sur l'article.

    Merci d'avance

    Bonne soirée
    Thierry

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

Discussions similaires

  1. [XL-2003] Enlever la couleur d'une cellule quand une condition n'est plus posée!
    Par Sylvian Lecrivain dans le forum Excel
    Réponses: 3
    Dernier message: 04/12/2014, 19h22
  2. Réponses: 2
    Dernier message: 11/05/2012, 03h36
  3. Quand l'erreur n'est plus une erreur !
    Par bonomsoleil dans le forum ASP.NET
    Réponses: 1
    Dernier message: 06/10/2009, 10h16
  4. [C#]Quand mon objet axWebBrowser est-il supprimé ?
    Par Kcirtap dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/10/2005, 10h16
  5. [swing] quand le jtext field est vide
    Par Samanta dans le forum Débuter
    Réponses: 5
    Dernier message: 05/07/2005, 11h10

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