Справочник API
event.pageY в jQuery
Содержание статьи
-
Категории: Events › Event Object
Содержит вертикальную координату события от мыши относительно начала координат document (верхнего края страницы).
Синтаксис и описание:
Добавлено в jQuery 1.0.4event.pageY
Свойство event.pageY содержит вертикальную координату указателя мыши в момент события — расстояние в пикселях от верхнего края всего документа (с учётом прокрутки), а не только видимой области окна. Работает в паре с event.pageX.
Используется там, где важна позиция именно на странице целиком, а не в окне браузера: позиционирование всплывающих подсказок и контекстных меню рядом с курсором, реализация drag-and-drop, определение, над каким блоком «плавающего» списка находится курсор при прокрутке длинной страницы.
Возвращаемое значение: (число) координата в пикселях.
Примечание:
Если страница прокручена вниз,
pageYбудет больше, чемclientY(координата относительно окна), — разница равна величине прокрутки (window.scrollY/$(window).scrollTop()). При изменении масштаба страницы (зум) оба значения меняются согласованно, так что для позиционирования элементов относительно документа нужно использовать именно pageY, а неclientY.В jQuery 3.x и 4.0:
Свойство работает без изменений. Полный аналог есть в нативном
MouseEvent.pageY— во всех современных браузерах jQuery берёт значение напрямую из исходного события, дополнительных вычислений не требуется.
Примеры:
Отслеживаем вертикальное положение курсора:
$( document ).on( "mousemove", function ( event ) { console.log( "Курсор на высоте " + event.pageY + " px от начала документа" ); } );Определяем, в какой половине высокого блока произошёл клик:
$( "#tall-block" ).on( "click", function ( event ) { var offset = $( this ).offset(); var relativeY = event.pageY - offset.top; console.log( relativeY < $( this ).outerHeight() / 2 ? "верхняя половина" : "нижняя половина" ); } );