скрининг
Смещение мыши из верхнего левого угла экрана монитора
Pagey
Смещение мыши из верхнего левого углу страницы (ее значение не будет влиять на стержень прокрутки)
Это свойство не поддерживается в соответствии с IE9
Но вы можете написать код, чтобы рассчитать его. Реализация в jQuery:
Кода -копия выглядит следующим образом:
// Рассчитайте pagex/y, если отсутствует и Clientx/y доступен
if (event.pagex == null && original.clientx! = null) {
EventDoc = Event.Target.OwnerDocument || документ;
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);
}
Просто реализуйте это просто.
Смещение мыши относительно просмотра браузера плюс скрытая высота прокрутки документа за вычетом клиентского турнира документа.
Кода -копия выглядит следующим образом:
var pagey = event.clienty +document.documentelement. scrolltop-document.documentelement.clienttop
Почему вычитайте document.documentelement.clienttop
Это смещение документа, специфичного для браузера, под IE8. Даже если HTML устанавливается на 0, прокладки и маржа тела не повлияют на его значение.
Протестировано под IE7, получить
Кода -копия выглядит следующим образом:
document.documentelement.clienttop -> 2px document.documentelement.clientleft -> 2px
document.bocy.clienttop -> 0px document.body.clientleft -> 0px
клиент
Смещение мыши из верхнего левого угла просмотра браузера
Обратите внимание на разницу между клиентским и Pagey. Значение клиента эквивалентно Pagey, когда на странице нет панели прокрутки.
---------------------------------- СЕГМИГАЦИЯ ------------------------------------------------------------
слой
Если стиль позиции элемента не является статичным по умолчанию, мы говорим, что этот элемент имеет атрибуты позиционирования.
Найдите ближайший элемент с атрибутами позиционирования в элементе, который в настоящее время запускает событие мыши и его предки, рассчитайте значения смещения мыши, чтобы найти дипломатическую точку в верхнем левом углу границы элемента в качестве относительной точки. Если элемент с атрибутом позиционирования не может быть найден, то смещение рассчитывается относительно текущей страницы, которая в настоящее время эквивалентно Пейджи.
Этот атрибут не поддерживается в соответствии с IE9, но его можно заменить на его уникальный неприятный.
бездействие
IE-специфические свойства
Разница между нестабильностью и уровнем состоит в том, что при расчете значения смещения первое относительно внутренней точки пересечения в верхнем левом углу границы элемента. Следовательно, когда мышь находится на границе элемента, значение смещения является отрицательным значением. Кроме того, OffSety не заботится о том, имеет ли элемент, который запускает событие, есть атрибуты позиционирования. Он всегда рассчитывает значение смещения относительно элемента, который запускает событие.
Учитывая разницу между слоями и неполноценными, вы должны обратить внимание на использование совместимых двух.
1. Элемент, который запускает событие, должен установить атрибут позиционирования.
2. Когда элемент имеет верхнюю границу, слои имеют на одно значение ширины пограничной площадки, чем значение Offsety.
Кода -копия выглядит следующим образом:
// element.bordertopwidth здесь должна быть ширина верхней границы фактически рассчитанного элемента.
var bordertopwidth = window.getComputedStyle? window.getComputedStyle (элемент, null) .bordertopwidth: element.currentstyle.bordertopwidth;
var offsety = event.offsety || (event.layery + bordertopwidth);
Благодаря свойствам и нефтью, очень удобно рассчитать смещение мыши по сравнению со связанным элементом события мыши, что в несколько раз очень полезно.
Здесь мы говорим об атрибуте смещения вертикального направления мыши. Смещение в горизонтальном направлении аналогично, поэтому мы больше не будем обсуждать это.
Выше приведено в этой статье, надеюсь, вам понравится.