Изменить происхождение координат в Javascript - PullRequest
0 голосов
/ 03 марта 2011

Как я могу изменить происхождение Javascript?Например, если бы я вызывал offsetTop для div, он действительно говорит мне, как далеко он находится от источника.Происхождение Javascript находится в верхнем левом углу страницы, но как мне это переместить?

Я хочу сделать это в левом нижнем углу.

1 Ответ

1 голос
/ 03 марта 2011

Ваша информация о offsetTop неверна.From MDC :

offsetTop возвращает расстояние текущего элемента относительно вершины узла offsetParent.

Вы не можете «переместить» источник так, как вы думаете, хотя вы можете использовать немного математики, чтобы вычислить расстояние от верхнего края элемента до нижней части экрана / страницы.Использование jQuery (для ясности, чтобы код не был испорчен кросс-браузерным обнаружением функций):

var $doc = $(document),
    docHeight = $doc.height(),
    $elt = $('#some-element-id'),
    top = $elt.offset().top,

    // this is the value you're interested in
    originShiftedTop = docHeight - top;

Демо ,Попробуйте перезапустить скрипку с разными Result значениями высоты панели.


Обратите внимание, что .offset() в jQuery возвращает позицию элемента относительно документа , в отличие от element.offsetTop свойство стандарта DOM.Функция jQuery .position() ведет себя как element.offsetTop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...