recherche
Maisoninterface Webjs tutorielExplication détaillée de la fonction jQuery position() et application de la fonction position dans jQuery_jquery

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.

jQueryObject.position( )

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 :

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

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

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)

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 :

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

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

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)

À 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 :

$(".daygrid").click(function(event){
  clickedGrid = $(this);
  $(".modal").modal("show");
  $(".modal").position({
    of:clickedGrid,
    offset:" ",
    collision:"fit"
  });
});

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 :

$("#myDialog").position({
  my: "center",
  at: "center",
  of: window,
  collision:"fit"
});

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
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
Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisationPython vs JavaScript: la courbe d'apprentissage et la facilité d'utilisationApr 16, 2025 am 12:12 AM

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Python vs JavaScript: communauté, bibliothèques et ressourcesPython vs JavaScript: communauté, bibliothèques et ressourcesApr 15, 2025 am 12:16 AM

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

De C / C à JavaScript: comment tout cela fonctionneDe C / C à JavaScript: comment tout cela fonctionneApr 14, 2025 am 12:05 AM

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Moteurs JavaScript: comparaison des implémentationsMoteurs JavaScript: comparaison des implémentationsApr 13, 2025 am 12:05 AM

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Au-delà du navigateur: Javascript dans le monde réelAu-delà du navigateur: Javascript dans le monde réelApr 12, 2025 am 12:06 AM

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

Construire une application SaaS multi-locataire avec next.js (intégration backend)Construire une application SaaS multi-locataire avec next.js (intégration backend)Apr 11, 2025 am 08:23 AM

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

Comment construire une application SaaS multi-locataire avec Next.js (Frontend Integration)Comment construire une application SaaS multi-locataire avec Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

JavaScript: Explorer la polyvalence d'un langage WebJavaScript: Explorer la polyvalence d'un langage WebApr 11, 2025 am 12:01 AM

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

See all articles

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP