Альтернатива JavaScript для функции FBJS getAbsoluteLeft - PullRequest
0 голосов
/ 28 декабря 2011

Я перенесу проект из предыдущего API Facebook (FBJS) в новый API.Есть функция с именем:

getAbsoluteLeft()

Я понятия не имею, почему это используется.Кто-нибудь может предоставить свой альтернативный javascript?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Хорошо, я не нашел и сам код.Вот аналогичный код, который я использовал в своем проекте

function getCoords(obj){
    if (getCoordsCache.obj == obj) {
    return getCoordsCache.pos;
    } else {
    var o = obj;
        var ret={'l':o.offsetLeft,'t':o.offsetTop,'w':o.offsetWidth,'h':o.offsetHeight}
        while(o=o.offsetParent){
            ret.l+=o.offsetLeft;
            ret.t+=o.offsetTop;
        }
        getCoordsCache.obj = obj;
        getCoordsCache.pos = ret;
        return ret;
    }
}

. Он возвращает объект со свойствами left и top.Поэтому для getAbsoluteLeft просто верните getCoords(obj).left.

Использование jQuery, как в другом ответе, даже лучше, если оно у вас есть.

0 голосов
/ 28 декабря 2011

В соответствии с описанием на странице документации

getAbsoluteLeft:

То же, что getAbsoluteTop, но горизонтально.

getAbsoluteTop:

Возвращает абсолютную позицию элементов относительно левой части стр. Полезно из-за отсутствия поддержки offsetParent.

Если вы используете jQuery в iFrame, вы можете использовать функцию смещения, чтобы получить левую и верхнюю часть элемента.

var position = $(element).offset();
...