Siebschild
Mausversatz von der oberen linken Ecke des Monitorbildschirms
Pagey
Der Versatz der Maus aus der oberen linken Ecke der Seite (ihr Wert wird nicht von der Bildlaufleiste beeinflusst)
Diese Eigenschaft wird unter IE9 nicht unterstützt
Sie können jedoch einen Code schreiben, um ihn zu berechnen. Implementierung in JQuery:
Die Codekopie lautet wie folgt:
// pagex/y berechnen, wenn fehlt und clientx/y verfügbar
if (event.pagex == null && original.clientX! = null) {
eventDoc = event.target.ownerDocument || dokumentieren;
doc = eventDoc.documentElement;
body = eventDoc.body;
event.pagex = original.clientX + (doc && doc.scrollleft || body && body.scrollleft || 0) - (doc && doc.clientleft ||| body && body.clientleft || 0);
event.pagey = original.clienty + (doc && doc.scrolltop || body && body.scrolltop || 0) - (doc && doc.clienttop || body && body.clienttop || 0);
}
Implementieren Sie es einfach einfach.
Der Offset der Maus relativ zum Browser -Ansichtsfenster plus der versteckten Höhe der Bildlaufleiste des Dokuments abzüglich des Clienttop des Dokuments.
Die Codekopie lautet wie folgt:
var pagey = event.clienty +document.documentElement. scrolltop-document.documentElement.clienttop
Warum document.documentElement.clienttop subtrahieren
Dies ist der Versatz des Browser-spezifischen Dokuments unter IE8. Auch wenn die HTML auf 0 eingestellt ist, wirkt sich die Polsterung und der Rand des Körpers nicht auf ihren Wert aus.
Unter IE7 getestet, bekommen
Die Codekopie lautet wie folgt:
document.documentElement.clienttop -> 2px document.documentElement.clientleft -> 2px
document.bocy.clienttop -> 0px document.body.clientleft -> 0px
Clienty
Mausversatz aus der oberen linken Ecke des Browser -Ansichtsfensters
Achten Sie auf den Unterschied zwischen Kunden und Seiten. Der Wert der Clientie entspricht der Seite, wenn auf der Seite keine Scroll -Leiste vorhanden ist.
----------------------------------Segmentierung-----------------------------------------------
Schichten
Wenn der Positionsstil eines Elements nicht die Standardstatik ist, sagen wir, dass dieses Element Positionierungsattribute enthält.
Finden Sie das nächstgelegene Element mit Positionierungsattributen im Element, das derzeit das Mausereignis und seine Vorfahrelemente auslöst. Berechnen Sie den Offset -Wert der Maus, um den diplomatischen Punkt in der oberen linken Ecke des Elements als relativen Punkt zu ermitteln. Wenn ein Element mit dem Positionierungsattribut nicht gefunden werden kann, wird der Offset relativ zur aktuellen Seite berechnet, was zu diesem Zeitpunkt gleichwertig entspricht.
Dieses Attribut wird unter IE9 nicht unterstützt, kann aber durch seine einzigartige Verschleppung ersetzt werden.
offsety
Dh spezifische Eigenschaften
Die Differenz zwischen Offsety und Layery besteht darin, dass bei der Berechnung des Offset -Wertes erstere relativ zum inneren Schnittpunkt in der oberen linken Ecke des Randes des Elements ist. Wenn sich die Maus am Rand des Elements befindet, ist der Offset -Wert daher ein negativer Wert. Darüber hinaus ist Offsety egal, ob das Element, das das Ereignis auslöst, Positionierungsattribute aufweist. Es berechnet immer den Offset -Wert relativ zu dem Element, das das Ereignis auslöst.
Angesichts der Differenz zwischen Schichten und Versetzungen sollten Sie auf die Verwendung von kompatiblen zwei achten.
1. Das Element, das das Ereignis auslöst, muss das Positionierungsattribut festlegen.
2. Wenn das Element den oberen Grenztop hat, hat die Schichten einen weiteren Wert der Grenzbreite als den Wert von Offsety.
Die Codekopie lautet wie folgt:
// Das Element.Bordertopwidth hier muss die obere Randbreite des tatsächlich berechneten Elements sein.
var bordertopwidth = window.getComputedStyle? window.getComputedStyle (Element, null).
var offsety = event.offsety || (Event.Layery + BorderTopwidth);
Durch die Schichten- und Offset -Eigenschaften ist es sehr bequem, den Versatz der Maus relativ zum Ereigniselement der gebundenen Maus zu berechnen, was manchmal sehr nützlich ist.
Hier sprechen wir über das Offset -Attribut der vertikalen Richtung der Maus. Der Versatz in horizontaler Richtung ist ähnlich, sodass wir nicht mehr darüber diskutieren werden.
Das obige dreht sich alles um diesen Artikel, ich hoffe es gefällt euch.