Maison interface Web js tutoriel Explication détaillée de la fonction jQuery position() et application de la fonction position dans jQuery_jquery

Explication détaillée de la fonction jQuery position() et application de la fonction position dans jQuery_jquery

May 16, 2016 pm 03:25 PM

La fonction

position() est utilisée pour renvoyer le décalage de l'élément correspondant actuel par rapport à son élément ancêtre positionné, c'est-à-dire les coordonnées relatives à l'élément ancêtre positionné. Cette fonction ne fonctionne que sur les éléments visibles.

Le soi-disant "élément positionné" signifie que la valeur de l'attribut de position CSS de l'élément est absolue, relative ou fixe (tant qu'il ne s'agit pas de la valeur statique par défaut).

Cette fonction renvoie un objet de coordonnées, qui a un attribut left et un attribut top. Les valeurs des propriétés sont toutes des nombres et elles sont toutes en pixels (px).

La différence avec offset() est que position() renvoie les coordonnées relatives à l'élément ancêtre positionné et offset() renvoie les coordonnées relatives au document actuel. De plus, la fonction position() ne peut pas être utilisée pour les opérations de définition. Si tous les éléments ancêtres de l'élément actuel sont positionnés par défaut (statiques), alors la position de décalage renvoyée par cette fonction est la même que la fonction offset().

Cette fonction appartient à l'objet (instance) jQuery.

Grammaire

Cette fonction est nouvelle dans jQuery 1.2.

1

jQueryObject.position( )

Copier après la connexion

Valeur de retour

La valeur de retour de la fonction position() est de type Object, renvoyant un objet de coordonnées décalées par rapport à l'élément ancêtre "positionné" le plus proche. Cet objet a les attributs left et top.

Si l'objet jQuery actuel correspond à plusieurs éléments, lors du renvoi des coordonnées, la fonction position() utilise uniquement le premier élément correspondant. S'il n'y a aucun élément correspondant, undefined est renvoyé.

Le système de référence de coordonnées dans position() est basé sur le coin supérieur gauche de l'élément ancêtre positionné comme origine (0,0), positif vers la droite et positif vers le bas.

Exemples et instructions

Prenons le code HTML suivant comme exemple :

1

2

3

<br>

<br>

<p id="n1"><span id="n2">专注于编程开发技术分享</span></p>

Copier après la connexion

L'exemple de code jQuery suivant est utilisé pour démontrer l'utilisation de la fonction position() et de la fonction offset() :

1

2

3

4

5

6

var $n2 = $("#n2");

// 输出n2的偏移坐标

var pos = $n2.position();

document.writeln( "n2的position()偏移坐标:(" + pos.left + ", " + pos.top + ")" ); // n2的position()偏移坐标:(8, 60)

var coord = $n2.offset();

document.writeln( "n2的offset()的偏移坐标:(" + coord.left + ", " + coord.top + ")" ); // n2的offset()的偏移坐标:(8, 60)

Copier après la connexion

D'après les résultats de l'opération jQuery ci-dessus, nous pouvons voir que position() n'obtient pas la position de décalage par rapport à son élément parent. Si tous les éléments ancêtres de n2 sont positionnés par défaut, la position de décalage renvoyée par position() est cohérente avec la fonction offset().

Ensuite, nous ajoutons le positionnement relatif à n1 dans le code HTML ci-dessus :

1

2

3

<br>

<br>

<p id="n1" style="position: relative;" ><span id="n2">专注于编程开发技术分享</span></p>

Copier après la connexion

Ensuite, nous réexécutons le code jQuery ci-dessus et vous pouvez voir les résultats suivants :

1

2

3

4

5

6

var $n2 = $("#n2");

// 输出n2的偏移坐标

var pos = $n2.position();

document.writeln( "n2的position()偏移坐标:(" + pos.left + ", " + pos.top + ")" ); // n2的position()偏移坐标:(0, 0)

var coord = $n2.offset();

document.writeln( "n2的offset()的偏移坐标:(" + coord.left + ", " + coord.top + ")" ); // n2的offset()的偏移坐标:(8, 60)

Copier après la connexion

À ce stade, parmi les éléments ancêtres de n2, n1 est l'élément ancêtre positionné le plus proche de n2 (ici il est relatif, il en va de même pour l'absolu et le fixe), donc position() renvoie la position décalée de n2 relatif au n1.

. Application de la fonction de position dans jQuery (centrage, traitement hors écran, etc.)

jQuery fournit une fonction Position, qui peut facilement positionner des éléments HTML. La méthode d'utilisation simple est la suivante :

1

2

3

4

5

6

7

8

9

$(".daygrid").click(function(event){

  clickedGrid = $(this);

  $(".modal").modal("show");

  $(".modal").position({

    of:clickedGrid,

    offset:" ",

    collision:"fit"

  });

});

Copier après la connexion

Ce qui précède est une utilisation très courante, enregistrez une heure de clic, puis lorsqu'un événement de clic se produit, obtenez l'élément cliqué, puis affichez la boîte de dialogue sur l'interface en utilisant la méthode de position.

La fonction position accepte un objet options avec de nombreux paramètres

de : Indique l'objet sur lequel être placé, vous pouvez également passer l'objet événementiel du clic

My et at : Ces deux-là ne sont pas faciles à comprendre. En fait, ce sont l'objet de référence et l'objet de référence. Le paramètre my indique la position utilisée pour la référence et at indique la position de la cible de référence. La plage de valeurs est l'une ou deux des valeurs suivantes : "gauche centre droit haut bas". Par exemple : my:"top left",at:"left buttom", cette configuration signifie que le coin supérieur gauche de l'élément à définir est placé dans le coin inférieur gauche de l'élément cible.

collision : indique comment gérer les collisions. La plage de valeurs est : "flip fit none". Choisissez l'une des trois. La description officielle en anglais du flip n'est pas très claire. L'effet réel du test est que s'il dépasse la plage attendue (comme la fenêtre), il tentera de placer l'élément dans la position opposée de la zone cible. L'ajustement est une adaptation, ce qui signifie que l'élément sera placé complètement dans la plage attendue sans laisser l'élément déborder. Et aucun ne traite les collisions.

le décalage indique la distance à décaler après avoir aligné les éléments avec my, at et of. Par exemple, le définir sur "100 100" signifie se déplacer vers la position cible, puis décaler de 100 pixels vers le bas et vers la droite

.

Une utilisation courante est la position de la boîte de dialogue pop-up. Afin de faire afficher la boîte de dialogue à la position où la souris clique, vous pouvez passer l'objet événement passé par clic au paramètre of, et dans l'ordre. pour vous assurer que la boîte de dialogue se trouve dans la portée de la fenêtre, vous pouvez utiliser Collision Set to fit. Enfin, définissez les paramètres d'alignement my et at en fonction des besoins réels et utilisez offset pour affiner le décalage. Un exemple de paramétrage de la boîte de dialogue pop-up au centre de la fenêtre :

1

2

3

4

5

6

$("#myDialog").position({

  my: "center",

  at: "center",

  of: window,

  collision:"fit"

});

Copier après la connexion

Le contenu ci-dessus est l'explication détaillée de la fonction jQuery position() et la description complète de l'application de la fonction position dans jQuery que l'éditeur a partagée avec vous.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

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)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Apr 04, 2025 pm 02:06 PM

Explorez la mise en œuvre de la fonction de glisser et de réglage du panneau de type VScode dans le frontal. Dans le développement frontal, comment implémenter un VScode comme ...

See all articles