Подтвердить что ты не робот

В чем разница между offsetX, offsetY и pageX, pageY?

Мне нужен всплывающий div, который появится прямо под якорем, который я нажал. Теперь я хочу определить координаты x и y в событии onClick якоря. Какая лучшая практика? Каковы рекомендуемые свойства событий?

4b9b3361

Ответ 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();
});

http://api.jquery.com/offset/

http://api.jquery.com/position/

Ответ 2

2 выдержки из веб-сайта документации JQuery

Метод .position() позволяет нам получить текущую позицию элемента относительно родителя смещения

http://api.jquery.com/position/


Метод .offset() позволяет нам получить текущую позицию элемента относительно документа.

http://api.jquery.com/offset/