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.
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
>
, c'est comme suit :
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.