André Laugks: Array-Variable zusammen setzen

Beitrag lesen

Hallo!

Ich habe mehrere Arrays, in denen sich die IDs für Layer befinden.
Nach dem Laden der Seite möchte ich die Positionen alles Layer in eine Array schreiben. Ich könnte alle Werte auch von Hand in ein Array schreiben, was mir aber zu unflexibel ist. Ich habe von der hier aufgeführten Arrays, sechs Stück :-(. Zu jeder Array mit IDs gibt es eine für die Positionen, home_mp >>> unterne_mp_pos.

Problem ist, das dies hier nicht funktioniert:
eval(menue_global + "_mp_pos[i]"); ich bekomme also z.B. home_mp_pos[i] nicht zusammengesetzt. Einfach addieren kann ich es ja auch nicht, also menue_global + "_mp_pos[i]". Ich muß ja eval() verwenden, da ich keine String, sindern ein Objekt zusammen addiere, oder? Wie bekomme ich das nun "dynamisch" zusammen gesetzt? unterne_mp, home_mp kommen aus eine Ober-Array. Über zwei verschatelte Schleifen möchte dann alle sechs Array durchlaufen.

Wenn es sein muß, lege ich sechs Schleifen an, was aber uncool ist ;-).

var alle = new Array("unterne_mp", "home_mp", etc...);

var unterne_mp = new Array("mpportr", "mpleist", "mpstrat", "mpfacts", "mpjobs");
var unterne_mp_pos = new Array();

var home_mp = new Array("mph1", "mph2", "mph3");
var home_mp_pos = new Array();

for(var i = 0; i < eval(menue_global + "_mp[i].length"); i++)
{
  eval(menue_global + "_mp_pos[i]") = document.layers[eval(menue_global + "_mp[i]")].pageY;
}

So sollte es dann zum Schluß aussehen. Als Beispiel habe ich jetzt nur mal den NN-Teil aufgeführt.

for(var i = 0; i < alle.length; i++)
{
  for(var j = 0; j < eval(alle[i] + "_mp.length"); j++)
   {
    eval(alle[i] + "_mp_pos[j]") = document.layers[eval(alle[i] + "_mp[i]")].pageY;
   }
}

Danke und MfG, André Laugks