allishappy
@allishappy

Почему неправильно определяются координаты мыши?

5101cb9e02b0418cb63856bafcd7bb68.png

По задумке меню должно появляться в точек клика. Но почему-то оно уезжает.
Позицию определяю так:
$('class').on('click', function(e) {
     var x=e.pageX,
         y=e.pageY;
};

У выпадающего меню следующие свойства
position: absolute;
		color: #000000;
		background-color: #FFFFFF;
		z-index: 9999;
		list-style-type: none;
		border: 1px solid #D3D3D3;
		border-radius: 5px;
		padding: 0.5%;
  • Вопрос задан
  • 361 просмотр
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Ну это же элементарно.
pageX - это координата относительно окна браузера (точнее - страницы целиком).
абсолютное позиционирование задает позицию относительно родителя с релатив
Вывод:
нужно пересчитывать абсолютные координаты получаемые из ивента, в относительные. В калькуляции можно/нужно использовать смещение родительского элемента относительно окна .offet().top, .offset().left
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
А кто является родителем у вашего меню?
body?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы