Speadge: CSS mit JS im IE setzen

Hallo,

ich bin gerade dabei ne Website zu verfassen, auf welcher ich diverse divs via JS einblenden will.

Das alles klappt inzwischen auch 1A... im Firefox. sobald ich den IE anschaue, führt er keines der Skripte aus.

der hauptbestandteil ist folgender:

-------
var divright = document.getElementById('right');
var cvgeschwindigkeitright = 2;

divright.style.right = parseInt(divright.style.right) + cvgeschwindigkeitright + "px";

divright.style.left = parseInt(divright.style.left) - cvgeschwindigkeitright + "px";
--
und das halt in einer "setTimeout-Schleife"
// divright.style.left && divright.style.right sind eingangs definiert

das ziel ist also, den rechten abstand des divs schrittweise zu erhöhen bzw den linken zu verringern.
--------

brauche das dringend.... also falls jemand ne Idee hat....

Vielen Dank,

Speadge

  1. Hallo Speadge,

    und das halt in einer "setTimeout-Schleife"
    // divright.style.left && divright.style.right sind eingangs definiert

    das ziel ist also, den rechten abstand des divs schrittweise zu erhöhen bzw den linken zu verringern.

    Der IE kann nicht gleichzeitig left _und right oder gleichzeitig top _und bottom interpretieren. Probiere es stattdessen mal mit der Kombination "left" und "width".

    Gruß Gernot

  2. Hallo,

    divright.style.right = parseInt(divright.style.right) + cvgeschwindigkeitright + "px";

    Hm, also das könnte problematisch sein, weil er in diesem Term "px" auch mit einrechnen muss. Schreibe das, was er zusammenrechnen soll, lieber in Klammern:

    divright.style.right = (parseInt(divright.style.right) + cvgeschwindigkeitright) + "px";

    Bei Multiplikationen, bzw. Divisionen, kannst du die Klammern dagegen weg lassen, weil diese sowieso zuerst berechnet werden (Punkt vor Strich).

    Falls du die Probleme im IE6 festgestellt hast, gilt außerdem noch das, was Gernot gesagt hat.

    mfg. Daniel