Javascript für I-Explorer tauglich machen
Marius
- javascript
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
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
Ah stimmt danke, schon mal ein Fehler weniger :D
Mfg Marius
Hi,
bitte bleibe in deinem bestehenden Thread, und unterlasse hier explizit unerwuenschte Doppelpostings.
MfG ChrisB