Мне нужен всплывающий div, который появится прямо под якорем, который я нажал. Теперь я хочу определить координаты x и y в событии onClick якоря. Какая лучшая практика? Каковы рекомендуемые свойства событий?
В чем разница между offsetX, offsetY и pageX, pageY?
Ответ 1
offsetX и offsetY относятся к родительскому контейнеру, тогда как pageX и pageY относятся к документу. Не путайте это с .offset()
и .position()
, в котором .offset()
относится к документу, а .position()
относится к родительскому контейнеру .offset()
.
Что-то вроде этого примера должно работать (JQuery):
$('a').click(function(){
var offset = $(this).offset();
$('#popup_div').css('top',offset.top + 'px').css('left',offset.left + 'px').show();
});
Ответ 2
2 выдержки из веб-сайта документации JQuery
Метод .position() позволяет нам получить текущую позицию элемента относительно родителя смещения
http://api.jquery.com/position/
Метод .offset() позволяет нам получить текущую позицию элемента относительно документа.