Maison > interface Web > js tutoriel > js implémentation de la méthode offset() de jquery example_javascript skills

js implémentation de la méthode offset() de jquery example_javascript skills

WBOY
Libérer: 2016-05-16 16:21:19
original
1204 Les gens l'ont consulté

L'exemple de cet article décrit comment js implémente la méthode offset() de jquery. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Les étudiants qui ont utilisé offset() de jQuery savent que offset().top ou offset().left peuvent facilement obtenir le décalage d'un élément par rapport à la page entière.

En js, il n'existe pas de méthode directe de ce type. L'attribut offsetTop du nœud peut obtenir le décalage relatif du nœud par rapport au nœud parent, mais ne peut pas obtenir directement son décalage absolu. Nous pouvons utiliser les nœuds pour récurer vers le haut couche par couche. et additionnez-les offsetTop pour obtenir le décalage absolu.

Copier le code Le code est le suivant :
fonction getOffset(Node, offset) {
Si (!offset) {
Décalage = {};
Décalage.top = 0;
Décalage.gauche = 0;
>

if (Node == document.body) {//Lorsque le nœud est le nœud du corps, terminez la récursion
         décalage de retour ;
>

offset.top = Node.offsetTop;
Offset.left = Node.offsetLeft;

return getOffset(Node.parentNode, offset); // Accumuler la valeur en offset vers le haut
>


Lors de l'utilisation de

, c'est comme suit :

Copier le code Le code est le suivant :
var a = document.getElementById('a');
//getOffset(a).top
//getOffset(a).left

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal