поиск местоположения элементов HTML с помощью javascript и offsettop - PullRequest
1 голос
/ 20 августа 2010

Я пытаюсь найти местоположение элемента на экране, используя JavaScript. Это то, что я делаю.

function locateTargets(){
    var targets = document.getElementsByTagName("span");
    for(var i = 0;i<targets.length;i++){
        if(targets[i].className == "target"){
            targetsY[targets[i].getAttribute("id")] = targets[i].offsetTop;
        }
    }
}

Это прекрасно работает в Firefox, Chrome и IE, но Opera и Safari в итоге находят 0 для всех, кроме последнего элемента.

Есть идеи, почему это может происходить и как это исправить?

1 Ответ

0 голосов
/ 20 августа 2010

offsetTop находит верхнее местоположение относительно последнего абсолютно позиционированного элемента родителя / предка (document.body является первым абсолютно позиционированным элементом предка для любого другого элемента).

Похоже, У Opera немного проблем с document.body и даже фиксированными элементами .

Если это не ваши проблемы, размещение кода может помочь нам помочь вам в устранении неполадок.

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