Heim > Web-Frontend > js-Tutorial > js-Implementierung der offset()-Methode von jquery example_javascript skills

js-Implementierung der offset()-Methode von jquery example_javascript skills

WBOY
Freigeben: 2016-05-16 16:21:19
Original
1203 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt, wie js die offset()-Methode von jquery implementiert. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Schüler, die offset() von jQuery verwendet haben, wissen, dass offset().top oder offset().left leicht den Offset eines Elements relativ zur gesamten Seite ermitteln kann.

In js gibt es keine solche direkte Methode. Das Attribut offsetTop des Knotens kann den relativen Versatz des Knotens relativ zum übergeordneten Knoten ermitteln, aber nicht direkt seinen absoluten Versatz. Wir können die Knoten verwenden, um Schicht für Schicht nach oben zu rekursieren und addiere sie offsetTop, um den absoluten Offset zu erhalten.

Code kopieren Der Code lautet wie folgt:
Funktion getOffset(Node, offset) {
Wenn (!offset) {
Offset = {};
Offset.top = 0;
Offset.left = 0;
}

if (Node == document.body) {//Wenn der Knoten der Körperknoten ist, beenden Sie die Rekursion
         Rückgabe-Offset;
}

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

return getOffset(Node.parentNode, offset); // Akkumuliere den Wert im Offset nach oben
}


Bei Verwendung von

lautet es wie folgt:

Code kopieren Der Code lautet wie folgt:
var a = document.getElementById('a');
//getOffset(a).top
//getOffset(a).left

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage