"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Explication détaillée et application de longues compétences en volants

Explication détaillée et application de longues compétences en volants

Publié le 2025-04-16
Parcourir:484

Long Hover

Récemment, j'ai rencontré une surveillance CSS plutôt embarrassante. Je développais un site Web avec une barre latérale étroite contenant des icônes. Manquant d'espace pour le texte descriptif, la conception appelait à des infractions accessibles, mais initialement cachées, déclenchées par un volant prolongé. L'info-bulle apparaîtrait après un volant de trois secondes.

Mon approche initiale impliquait JavaScript State Management:

  1. une variable d'état pour suivre la visibilité de l'info-bulle (visible / caché). Cet état mettrait à jour une classe sur l'élément HTML pertinent.
  2. écouteurs d'événements ( MouseEnter , Mouseleave ) pour gérer les transitions d'état.
  3. un délai de trois secondes avant de définir l'état sur visible sur MouseEnter .
  4. L'infiltron resterait caché ( Mouseleave ).

C'était un projet React, donc en utilisant JavaScript State était naturel. Cependant, rétrospectivement, il s'est avéré inutilement complexe. Les événements de MouseEave se sentaient légèrement peu fiables. La réalisation embarrassante: je met à profit inutilement une bibliothèque JavaScript lorsqu'une solution CSS était facilement disponible. J'ai conservé l'interface utilisateur React mais j'ai supprimé la gestion de l'état JavaScript. La solution impliquait une propriété simple CSS

transition-delay

:

.chose { transition: 0,2 s; } . TRANSITION DU TRANSITION: 3S; / * retarder l'animation de survol uniquement sur, pas off * / } Cet élégant one-liner atteint parfaitement l'effet long souhaité.

.thing {
  transition: 0.2s;
}
.thing:hover {
  transition-delay: 3s; /* delay hover animation only ON, not OFF */
}
: Hover

peut s'activer sur le robinet initial. Si le lien mène à une page avec un titre clair, cela pourrait fournir un contexte suffisant. Sinon, la gestion des événements JavaScript pour les événements tactiles reste une option viable.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3