súbdito
Desplazamiento del mouse desde la esquina superior izquierda de la pantalla del monitor
pagina
La compensación del mouse desde la esquina superior izquierda de la página (su valor no se verá afectado por la barra de desplazamiento)
Esta propiedad no es compatible con IE9
Pero puede escribir algún código para calcularlo. Implementación en jQuery:
La copia del código es la siguiente:
// Calcule Pagex/Y si falta y Cliente/Y disponible
if (event.pagex == null && original.clientx! = null) {
eventDoc = event.target.OwnerDocument || documento;
doc = eventDoc.DocumentElement;
cuerpo = 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);
}
Simplemente impleméntelo simplemente.
El desplazamiento del mouse en relación con la ventana gráfica del navegador más la altura oculta de la barra de desplazamiento del documento menos el cliente del documento.
La copia del código es la siguiente:
var pagey = event.clienty +document.documentelement. scrolltop-document.documentelement.clienttop
Por qué restar documento.documentelement.clienttop
Este es el desplazamiento del documento específico del navegador en IE8. Incluso si el HTML se establece en 0, el relleno y el margen del cuerpo no afectarán su valor.
Probado en IE7, obtenga
La copia del código es la siguiente:
document.documentelement.clienttop -> 2px document.documentelement.clientleft -> 2px
document.bocy.clienttop -> 0px document.body.clientleft -> 0px
clery
Desplazamiento del mouse desde la esquina superior izquierda de la ventana gráfica del navegador
Presta atención a la diferencia entre Clienty y Pagey. El valor de Clienty es equivalente a Pagey cuando no hay una barra de desplazamiento en la página.
----------------------------------segmentación-----------------------------------------------
capacitación
Si el estilo de posición de un elemento no es la estática predeterminada, decimos que este elemento tiene atributos de posición.
Encuentre el elemento más cercano con los atributos de posicionamiento en el elemento que actualmente desencadena el evento del mouse y sus elementos del antepasado, calcule el valor de desplazamiento del mouse para encontrar el punto diplomático en la esquina superior izquierda del borde del elemento como punto relativo. Si no se puede encontrar un elemento con el atributo de posicionamiento, entonces el desplazamiento se calcula en relación con la página actual, que es equivalente a Pagey en este momento.
Este atributo no es compatible con IE9, pero puede reemplazarse por su Offsety único.
compensado
Propiedades específicas de IE
La diferencia entre Offsety y Cayery es que al calcular el valor de desplazamiento, el primero es relativo al punto de intersección interna en la esquina superior izquierda del borde del elemento. Por lo tanto, cuando el mouse está en el borde del elemento, el valor de desplazamiento es un valor negativo. Además, Offsety no le importa si el elemento que desencadena el evento tiene atributos de posicionamiento. Siempre calcula el valor de desplazamiento en relación con el elemento que desencadena el evento.
Dada la diferencia entre capas y offsety, debe prestar atención al uso de dos compatibles.
1. El elemento que desencadena el evento debe establecer el atributo de posicionamiento.
2. Cuando el elemento tiene la parte superior del borde superior, las capas tienen un valor más de ancho de borde del borde que el valor de Offsety.
La copia del código es la siguiente:
// El elemento.bordertopwidth aquí debe ser el ancho del borde superior del elemento realmente calculado.
var borderTopWidth = window.getComputedStyle? Window.getComputedStyle (Element, NULL) .BorderTopWidth: Element.CurrentStyle.BorderTopWidth;
var offsety = event.offsety || (event.layery + borderTopWidth);
A través de las propiedades de capas y compensación, es muy conveniente calcular el desplazamiento del mouse en relación con el elemento de evento de mouse unido, que es muy útil en algunos momentos.
Aquí hablamos sobre el atributo de compensación de la dirección vertical del mouse. El desplazamiento en la dirección horizontal es similar, por lo que ya no lo discutiremos.
Lo anterior se trata de este artículo, espero que les guste.