Maison interface Web tutoriel CSS Pourquoi les valeurs height() et width() de jQuery renvoient-elles des valeurs pour les éléments cachés ?

Pourquoi les valeurs height() et width() de jQuery renvoient-elles des valeurs pour les éléments cachés ?

Oct 29, 2024 pm 12:37 PM

 Why Does jQuery's height() and width() Return Values for Hidden Elements?

jQuery : é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 :

  1. 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"
  2. Mesure de la hauteur :Avec ces modifications, il obtient la hauteur en utilisant getWidthOrHeight(...).
  3. 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Ajout d'ombres de boîte aux blocs et éléments WordPress Ajout d'ombres de boîte aux blocs et éléments WordPress Mar 09, 2025 pm 12:53 PM

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éez un formulaire de contact JavaScript avec le cadre Smart Forms Mar 07, 2025 am 11:33 AM

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

Créer un éditeur de texte en ligne avec l'attribut satisfaistable Créer un éditeur de texte en ligne avec l'attribut satisfaistable Mar 02, 2025 am 09:03 AM

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

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Travailler avec GraphQL Caching

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

Faire votre première transition Svelte personnalisée

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Mar 04, 2025 am 10:22 AM

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

Téléchargement de fichiers avec Multer dans Node.js et Express Téléchargement de fichiers avec Multer dans Node.js et Express Mar 02, 2025 am 09:15 AM

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

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Show, ne dit pas

See all articles