Offset di elementi...valori sballati

malcommac

Nuovo Utente
17 Gen 2011
1
0
0
Salve a tutti,
sono nuovo del mondo js. Il mio primo problema è questo. Ho un HTML:
http://pastebin.com/QXdzcbA5
E dovrei verificare gli offset x e y dei blocchi span di un certo tipo.
Il codice è questo chiamato con:
positionOfElementsWithType("MyAppHighlight");

Codice:
function positionOfElementsWithType(type) {
    var elements, i, results = [], curClass;  
    var sc = document;
	var xtotale = "";

    //Get all children of the scope node
    elements = sc.getElementsByTagName('*');
    for( i=0; i < elements.length; i++ ){
        curClass = elements[i].getAttribute('class');
		
		if (curClass != null && curClass == type) {
			var of = ObjectPosition(curClass);
			xtotale += "[X:"+of[0]+",Y:"+of[1]+"],";
		}
    }
	return xtotale;
}

	function ObjectPosition(obj) {
    var curleft = 0;
      var curtop = 0;
      if (obj.offsetParent) {
            do {
                  curleft += obj.offsetLeft;
                  curtop += obj.offsetTop;
            } while (obj = obj.offsetParent);
      }
      return [curleft,curtop];
}

Il risultato che ottengo è questo
[X:303,Y:14],[X:8,Y:704],[X:116,Y:1110],[X:194,Y:1218]

Se provate a renderizzare il documento scoprirete che ad occhio sono tutti valori sballati.
Ora ho provato anche a togliere il css3 multicolumn e a quel punto sembra che i valori abbiano un senso.
Purtroppo però ne ho bisogno...c'è modo di farlo andare correttamente?
 

Discussioni simili