Robert: attribut eines objekts und variable

Hallo Selfhtml-Nchrichten-Leser-UND-Beantworter!

Nehmen wir den Browser Mozilla.

Ich habe zb einen Layer mit der id="lay"

wenn ich z.B den Layer verschieben will, ist das keine Problem
einfach document.getElementById('lay').style.top=zahl;

nun will ich das document.getElementById('lay').style in eine variable "menu" tun damit ich immer nur schreibe menu.top=zahl;

natürlich funktioniert das nicht, da der Browser denkt das "menu" ein layer ist und versucht den Layer menu zu verschieben.

Aber ganz anders ist es wenn ich Objekte in diesem Fall benutze
d.H wenn ich das document.getelementbyid('...').style in einem attribut von einem objekt schreibe functioniert es.
bsp:

function objekt()
{
this.style=document.getElementById('lay').style;
}

var obj=new objekt;

obj.style.top=zahl;  /*<<--- das hier geht obwohl obj.style auch eine variable ist.*/

kann mir jemand erklären warum das mit attributen von Objekten geht. Was haben diese besonderes an sich das sie mehr koennen als gewöhnliche variablen?

Naja Danke schonmal
MFG Robert

  1. nun will ich das document.getElementById('lay').style in eine variable "menu" tun damit ich immer nur schreibe menu.top=zahl;
    natürlich funktioniert das nicht, da der Browser denkt das "menu" ein layer ist und versucht den Layer menu zu verschieben.

    .. komisch ich mache es in meinen scripten genau so und es funktioniert...  "menu" ist doch jetzt eine referenz auf den layer.
    ausserdem widersprichst du dich da nicht? was willst du denn eigentlich erreichen? soll denn der layer nicht verschoben werden?

    gruß ein verwirrter hein

    1. Ich hab schon erreicht was ich will alles geht was ich gemacht hab nur will ich verstehen warum menu.style.left  (menu.style ist ein atribut==variable von einem objekt) geht.
      aber wenn ich document.getElementById('lay').style in einer varibalen namen asdf hab geht asdf.top=100 nicht.