Struppi: Kann nicht auf "style"-Attribut zugreifen

Beitrag lesen

Du kannst übrigens auch ein Image auf dem bewegen, das DIV ist unnötig.

Ja schon, aber mit "div" ist es mir lieber. Ich spreche die Dinger nämlich über die Indexnummer an, und "div"-Elemente hab ich nur die im Dokument, die ich für die Flocken brauche. Bilder hab ich aber noch ein paar, und ich wollte die Flocken nicht mit document.getElementsByTagName("img")[num+2] ansprechen, ...

Das ist Unsinn.
Wie ich dir schon schrieb, kannst du die Elemente in deinen Objekte merken, du brauchst sie nicht jedesmal mit getElementBy... neu zu holen.

Wenn du jetzt mehrere "Flocken" erzeugen willst, kannst das in deinem Objekt (ich vermute du hast eins, wegen dem this) benutzen.

Ja, ich hab ein Objekt "Flocke", und für jede Flocke mach ich eine Instanz. this.obj bezeichnet das Bild, das mit dieser Flockeninstanz verknüpft ist. Die Flockenobjekte hab ich in ein Array getan, und die Indexnummer in diesem Array ist dieselbe wie die vom zugehörigen "div".

Wenn du Objekte verwendest, verstehe ich nicht warum du nicht die Bilder in die Objekte einbaust.

function Flocke()
{
    this.obj = document.createElement("img");
 this.obj.src = "flocke.png";
 this.obj.style.position = 'absolute';
}

Flocke.prototype.top( y)
{
    this.obj.style.top = y + 'px';
}
Flocke.prototype.left( x)
{
    this.obj.style.left = x + 'px';
}

und dann z.b. so erzeugst:

var flocke = new Flocke();
documentbody.appendChild( flocke.obj );

und jetzt kanst du hopsen:

function hops () {
    i += 0.04;
    if (i == 360) i = 0;
    flocke.top( Math.round ((Math.sin(i) + 1) * 256));
    window.setTimeout ("hops()", 50);
}

Struppi.

--
Javascript ist toll (Perl auch!)