Узнать положение элемента html в iframe

Я хочу узнать позицию элемента, находящегося в iframe. Я пытаюсь использовать: -

//Function to find the position of element on page
function getElementPosition(elem){
  var posX = 0;
  var posY = 0;
  while(elem!= null){  
        posX += elem.offsetLeft;  
        posY += elem.offsetTop;  
        elem = elem.offsetParent;
    console.log("In function:" + elem.tagName + " " + posX + " " + posY);
  }                              
 return { x : posX, y : posY };  
}

Чтобы получить список всех элементов iframe,

var doc1 = $('#page1').get(0).contentDocument; // page1 is id of iframe element
var list1 = doc1.getElementsByTagName('*');
console.log(list1.length);                     // Printing correctly
var index = prompt("Enter element index");
var elem1 = list1[index];
var pos1 = getElementPosition(elem1);
console.log("Positions:" + pos1.x + " " + pos1.y);

Но это не работает. Изначально elem не равен нулю, но elem.offsetParent всегда равен нулю. Я делаю что-то неправильно?

Для некоторых элементов работает нормально. Но для некоторых элементов offsetParent становится нулевым, поэтому их offsetLeft равен 0, а offsetTop равен 0.

Есть ли другой способ узнать положение каждого элемента.

Заранее спасибо..

6
задан sachinjain024 5 June 2012 в 10:00
поделиться