Уважаемые пользователи!
Доводим до вашего сведения, что мы не занимаемся обучениями по системе uCoz и настройками Ваших сайтов.
Подобные просьбы и вопросы - будут игнорироваться!
Подобные просьбы и вопросы - будут игнорироваться!
Вычисление позиции курсора мыши
Дата добавления: 02.09.2016 - 00:01
Категория: Уроки / Литература / Пособия
Добавил: Buger
Количество просмотров: 1.4k
Количество комментариев: 0
Рейтинг материала: 0.0 / 0
БЕСПЛАТНО
рейтинг
0.0
/
голосов
0
Данный сниппет поможет вам определить координаты пользовательского курсора практически во всех браузерах.
Определение координат пользовательского курсора по отношению к странице не так уж и проста. Как правило, различные браузеры по-разному определяют значения некоторых свойств. Универсальное решение:
Теперь мы с лёгкостью можем воспользоваться данной функцией. Для этого нам просто нужно передать объект события. Если же мы хотим определить x-y координаты при клике, то код будет таким:
Данное решение можно применить не только к клику, но и к другим JavaScript событиям. Надеемся, что данное решение вам пригодится.
Источник: http://callmenick.com/post/cross-browser-calculation-of-x-y-position
Функция определения позиций X-Y
Определение координат пользовательского курсора по отношению к странице не так уж и проста. Как правило, различные браузеры по-разному определяют значения некоторых свойств. Универсальное решение:
Код
function getPosition(e) {
var posx = 0;
var posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
return {
x: posx,
y: posy
}
}
var posx = 0;
var posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
return {
x: posx,
y: posy
}
}
Использование
Теперь мы с лёгкостью можем воспользоваться данной функцией. Для этого нам просто нужно передать объект события. Если же мы хотим определить x-y координаты при клике, то код будет таким:
Код
document.addEventListener( "click", function(e) {
var x = getPosition(e).x;
var y = getPosition(e).y;
console.log("x pos: "+ x +" // y pos:"+ y);
});
var x = getPosition(e).x;
var y = getPosition(e).y;
console.log("x pos: "+ x +" // y pos:"+ y);
});
Данное решение можно применить не только к клику, но и к другим JavaScript событиям. Надеемся, что данное решение вам пригодится.
Источник: http://callmenick.com/post/cross-browser-calculation-of-x-y-position
Добавлять комментарии могут только зарегистрированные пользователи.
Поделись с друзьями: