Marius: Javascript für I-Explorer tauglich machen

Guten Tag,
ich habe folgendes Script geschrieben:

<script type="text/javascript">

var z = "1";

function zoom(nr, distop, disleft, mywidth, myheight, a) {

var e = document.getElementById("pic" + nr);
 var l = document.getElementById("pic" + nr + "-" + "2");
 var m = document.getElementById("pic" + nr + "-" + "3");
 var n = document.getElementById("pic" + nr + "-" + "4");

e.onclick = function () {};

var topdiv = e.offsetTop;
 var leftdiv = e.offsetLeft;

var widthpic = l.offsetWidth;
 var heightpic = l.offsetHeight;

var heightcomment = n.offsetHeight;

var heightoverflow = m.offsetHeight;

e.style.zIndex = z;

if (widthpic < 400) {

a++;

var ver = mywidth / myheight;

l.style.width = mywidth + a * 4 * ver + 'px';

l.style.height = myheight + a * 4 + 'px';

e.style.top = distop - a * 2 + 'px';
  e.style.left = disleft - a * 2 * ver + 'px';

window.setTimeout(function () {zoom(nr, distop, disleft, mywidth, myheight, a);}, 1);

}

if (widthpic >= 400 && heightoverflow < heightcomment) {

m.style.width = widthpic;

heightoverflow += 1;
  m.style.height = heightoverflow + 'px';

if (heightcomment <= heightoverflow) {

m.style.height = "auto";

z++;

e.onclick = function () {zoomout(nr, distop, disleft, mywidth, myheight, a);};

}
  else {

window.setTimeout(function () {zoom(nr, distop, disleft, mywidth, myheight, a);}, 1);

}

}

}

function zoomout(nr, distop, disleft, mywidth, myheight, a) {

var e = document.getElementById("pic" + nr);
 var l = document.getElementById("pic" + nr + "-" + "2");
 var m = document.getElementById("pic" + nr + "-" + "3");

e.onclick = function () {};

var topdiv = e.offsetTop;

var leftdiv = e.offsetLeft;

var widthpic = l.offsetWidth;
 var heightpic = l.offsetHeight;

var heightoverflow = m.offsetHeight;

if (heightoverflow > 0) {

heightoverflow -= 1;
  m.style.height = heightoverflow + 'px';

window.setTimeout(function () {zoomout(nr, distop, disleft, mywidth, myheight, a);}, 1);

}

if (heightoverflow <= 0 && widthpic > mywidth) {

m.style.width = mywidth;

a--;

var ver = mywidth / myheight;

l.style.width = mywidth + a * 4 * ver + 'px';
  l.style.height = myheight + a * 4 + 'px';

e.style.top = distop - a * 2 + 'px';
  e.style.left = disleft - a * 2 * ver + 'px';

}

if (widthpic == mywidth) {

e.style.zIndex = "0";

e.onclick = function () {zoom(nr, this.offsetTop, this.offsetLeft, document.getElementById("pic" + nr + "-2").offsetWidth,  document.getElementById("pic" + nr + "-2").offsetHeight, a);};

}
 else {

window.setTimeout(function () {zoomout(nr, distop, disleft, mywidth, myheight, a);}, 1);

}

}

</script>

Mit distop/disleft werden offsetTop/offsetLeft an die Funktion übergeben. Mit mywidth/myheight jeweils Höhe und Breite.
Mit dem Script vergrößere ich eine Tabelle mit einem Bild drin.
Hier ist die Test-Datei:

http://mariushofmann.ma.funpic.de/test/zoom3.html

Nur leider funktioniert das ganze bisher nur für Opera und Firefox.
Für Netscape konnte ich es nicht testen und für den I-Explorer klappt es nicht.

Wie muss ich es ändern, damit es für den I-Explorer klappt.

MfG Marius

  1. Hallo,

    m.style.width = widthpic;

    Ohne das ganze Script "durchdrungen" zu haben: hier weisst Du nur eine Zahl zu; style.width erwartet aber zahl und "px".

    Grüße Basti

    1. Ah stimmt danke, schon mal ein Fehler weniger :D
      Mfg Marius

  2. Hi,

    bitte bleibe in deinem bestehenden Thread, und unterlasse hier explizit unerwuenschte Doppelpostings.

    MfG ChrisB