Примеры с некоторыми визуальными оформлением будут очень полезны.
Примечание переводчика:
Этот топик был отмечен на 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
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть ли возможность в модуле ftp(nodejs) отловить ошибку при загрузке файла, например, при отключении интернета или когда сервер ftp выключился...
Здравствуйте, есть выражение, (1,5-1)*2 на js оно будет равно 8, это происходит, потому что стоит запятая, а не точка, Объясните пожалуйста, почему...
ЗдравствуйтеЕсть приложение, которое должно работать длительное время, все это время в нем удаляются/создаются элементы таблицы(элементы...