Rudi: danke + Zusatzfrage

Beitrag lesen

ich benutze auch offsetTop und offsetLeft, ich hangele mich dann aber bis zum Body durch und addiere die Positionen auf:

var jb_pos = function(el) {

var pos = new Object();
  pos.x = pos.y = 0;
  if(el && el.offsetParent){
   while(el) {
    pos.x += el.offsetLeft;
    pos.y += el.offsetTop;
    el = el.offsetParent;
   }
  }
  return pos;
}

  
Danke, das ist die Lösung, die mit Firefox \*\*und\*\* Opera läuft.  
  
Ich definiere allerdings kein Object, um ein paar Zahlen zu addieren:  
  
 ~~~javascript
        var t = l = 0;  
         el = move; // move ist das zu bewegende Element  
         while( el )  
         {  
           t += el.offsetTop;  
           l += el.offsetLeft;  
           el = el.offsetParent;  
         }  

Ist es richtig, dass das Zeichen = einen Zeiger setzt? Also das Objekt nur referenziert, nicht kopiert? Eine Kopie ist dann var el = move; ?

Wie kopiere ich dann etwas in eine Variable ausserhalb einer Funktion, wenn also el global sein soll?

Rudi