Примеры с некоторыми визуальными оформлением будут очень полезны.
Примечание переводчика:
Этот топик был отмечен на enSO как дубликат вопроса:
What is the difference between screenX/Y, clientX/Y and pageX/Y?
Действительно заголовок почти на 100% совпадает, но содержание ответов намного уступает, на мой взгляд, переведенным ответам с enSO в этом топике.
Они более развернутые, с хорошими графическими иллюстрациями, с интерактивными примерами.
Поэтому и был выбран именно этот топик для перевода. И у нас на ruSO подобные вопросы задавались не раз, что говорит об интересе к данной проблеме.
Перевод вопроса: What is the difference between pageX/Y clientX/Y screenX/Y in Javascript? @Inquisitive
Screen → Полный экран монитора (screenX/Y)
Позиция всегда будет относительна к окну просмотра физического экрана.
Client → Клиент viewport браузера (clientX/Y)
Если вы кликнете в левом верхнем углу,то значение всегда будет(0,0) независимо от `scroll position`.
Document → Полный документ / страница (pageX/Y)
Учтите, что pageX/pageY событие UIEvent object are not standardized.
Все значения в пикселях.
Перевод ответа: What is the difference between pageX/Y clientX/Y screenX/Y in Javascript? @K3N
Итерактивный пример
jsBin DEMO
clientX и clientY = значения (px) положения мыши относительно границ viewport экрана браузера
Tip:
Даже, если вы прокручиваете документ, значения будут всегда одинаковые
pageX, pageY = значениям в (px), положения курсора мыши, относительно левого, верхнего угла документа.
Tip:
Если вы прокручиваете документ, например вертикально pageY значение изменяется, потому что это новая верхняя позиция курсора мыши внутри вашего элемента.
Также стоит отметить, что:
event.pageY - event.clientY === document.documentElement.scrollTop
( или jQuery's $("html, body").scrollTop() )
screenX и screenY являются значениями (px) текущей позиции курсора мыши относительно физического дисплея.
Перевод ответа: What is the difference between pageX/Y clientX/Y screenX/Y in Javascript? @Roko C. Buljan
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости