Johannes Federle: Objekte dynamisch ansprechen

Hallö,
erst mal folgendes script

if(document.all)  
  {
   document.all.VARIABLE.style.left = this.x;
   document.all.VARIABLE.style.top = this.y;
  };
  if(document.layers)
  {
   document.layers[this.name].left= this.x;
   document.layers[this.name].top=  this.y;
  };

Wie ihr seht, seht ihr hier eine Funktion die einem Objekt zugeordnet wurde. Das Objekt generiert auch einen Layer(für Netscape) oder ein absolutes Div-tag(MSI). Die Id, bzw der Name wird dem Objekt übergeben und ist dann in this.name.
Wi kann ich jetzt im MSI die Koordinaten ändern(also VARIABLE)?

Wenn ihr nicht kapiert habt was ich meine dann schaut einfach den Zweig für "document.layer" an, das funktioniert, und so soll es im MSI auch gehen.

Danke im vorraus
       Ciao Johannes

  1. Hallo Johannes

    Wi kann ich jetzt im MSI die Koordinaten ändern(also VARIABLE)?

    Eigentlich sollte das mit this.style.left und this.style.top gehen.

    Hab ich jetzt nicht ausprobiert, aber es folgt der gleichen Logik wie:
    <p onClick="this.innerHTML='Sehen Sie - ich habe es ja gesagt!'">Ich bin dynamisch</p>
    Und das funktioniert im MSIE.

    viele Gruesse
      Stefan Muenz

    1. Hallo Johannes

      Wi kann ich jetzt im MSI die Koordinaten ändern(also VARIABLE)?

      Eigentlich sollte das mit this.style.left und this.style.top gehen.

      Das kann aber nicht gehen, weil sich this auf meinen Objektnamen bezieht, der leider anderst ist als der Name des Div-tags

      Ciao Johannes

  2. Also normalerweise funktionierts in etwa so :

    function setheight(name,wert,left) {

    if (document.layers) {
        document.layers[name].top = wert;  
    document.layers[name].left = left;
        }
        else {
        document.all[name].style.top = wert;
        document.all[name].style.left = left;
        }
    }

    gruss
    Jens

  3. Hallö,
    erst mal folgendes script

    if(document.all)  
      {
       document.all.VARIABLE.style.left = this.x;
       document.all.VARIABLE.style.top = this.y;
      };
      if(document.layers)
      {
       document.layers[this.name].left= this.x;
       document.layers[this.name].top=  this.y;
      };

    Wie ihr seht, seht ihr hier eine Funktion die einem Objekt zugeordnet wurde. Das Objekt generiert auch einen Layer(für Netscape) oder ein absolutes Div-tag(MSI). Die Id, bzw der Name wird dem Objekt übergeben und ist dann in this.name.
    Wi kann ich jetzt im MSI die Koordinaten ändern(also VARIABLE)?

    Wenn ihr nicht kapiert habt was ich meine dann schaut einfach den Zweig für "document.layer" an, das funktioniert, und so soll es im MSI auch gehen.

    Danke im vorraus
           Ciao Johannes

    Hallo Johannes,

    probiere mal folgendes:
    document.all.tags("div")[ID].style.left=....;
    wobei ID die Variable ist.

    Gruß Thomas