


Pourquoi les valeurs height() et width() de jQuery renvoient-elles des valeurs pour les éléments cachés ?
Oct 29, 2024 pm 12:37 PMjQuery : éléments cachés et propriétés de dimension
Contrairement à l'hypothèse courante, les éléments avec display:none ne renvoient pas toujours 0 pour la hauteur de jQuery () et width(). Cet écart par rapport aux attentes a fait l'objet d'une confusion persistante parmi les programmeurs.
Dévoilement du mystère
L'écart provient de la façon dont jQuery gère les éléments avec le style display:none . Lorsque la largeur de décalage d'un élément est 0, indiquant qu'il est effectivement masqué, jQuery tente de déterminer sa hauteur à l'aide de calculs internes :
-
Transformation temporaire : Il modifie temporairement la largeur de l'élément. Propriétés CSS utilisant jQuery.swap() :
- Définit la position sur "absolue"
- Définit la visibilité sur "caché"
- Définit l'affichage sur "bloquer"
- Mesure de la hauteur :Avec ces modifications, il obtient la hauteur en utilisant getWidthOrHeight(...).
- Restauration de la propriété : Enfin, il rétablit les propriétés CSS à leurs valeurs précédentes, masquant ainsi à nouveau l'élément.
L'ensemble de ce processus se déroule de manière transparente avant la mise à jour du thread de l'interface utilisateur, préservant l'état caché de l'élément tout en récupérant ses dimensions. En rendant les éléments display:none accessibles via height() et width(), jQuery garantit que les calculs impliquant leurs dimensions peuvent être effectués quel que soit leur statut de visibilité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Ajout d'ombres de boîte aux blocs et éléments WordPress

Créez un formulaire de contact JavaScript avec le cadre Smart Forms

Créer un éditeur de texte en ligne avec l'attribut satisfaistable

Faire votre première transition Svelte personnalisée

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres)

Téléchargement de fichiers avec Multer dans Node.js et Express
