• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mittige Positionierung des Bildes im Popup

Status
Für weitere Antworten geschlossen.

Pixelkind

Neues Mitglied
Hallo,

die Werke in meinem Portfolio werden in einem Fullscreen-Popup dargestellt. Da die Programmierung vor einigen Jahren stattgefunden hat und für Firefox 1.0 optimiert war, lief es bis dato alles ok. Nun in den aktuellen Browsern wird das Bild, sofern es größer ist als jeweilige Fenstergröße, von oben quasi "eingefressen":

Code
Code:
<html>
<head>
<title>Beispiel</title>
</head>
<script type="text/javascript">
//function zum Positionieren des Divs
//1. ermitteln der Browserinnenbreite/hoehe
//2. Ermitteln der div/layer breite/hoehe
//3. ermitteln der position für den Anzeigelayer/div
function pos()
{
oe=0
le=0
ob=0
oh=0
if(document.layers) //ns4
{
ob=parseInt(document.centerbild.document.width)
oh=parseInt(document.centerbild.document.height)
le=(parseInt(window.innerWidth)-ob)/2
oe=(parseInt(window.innerHeight)-oh)/2
document.centerbild.top=oe
document.centerbild.left=le
document.centerbild.visibility="show"
}
if(document.getElementById&&!document.all) //NS6
{
ob=parseInt(document.getElementById('centerbild').offsetWidth)
oh=parseInt(document.getElementById('centerbild').offsetHeight)
le=(parseInt(window.innerWidth)-ob)/2
oe=(parseInt(window.innerHeight)-oh)/2
document.getElementById('centerbild').style.top=oe
document.getElementById('centerbild').style.left=le
document.getElementById('centerbild').style.visibility="visible"
}
else if(document.all) //IE
{
ob=parseInt(document.all.centerbild.offsetWidth)
oh=parseInt(document.all.centerbild.offsetHeight)
le=(parseInt(window.document.body.clientWidth)-ob)/2
oe=(parseInt(window.document.body.clientHeight)-oh)/2
document.all.centerbild.style.top=oe
document.all.centerbild.style.left=le
document.all.centerbild.style.visibility="visible"
}
}
</script>
<!-- Div wird nach dem Laden der Seite positionert und angezeigt--//-->
<!-- Div wird nach Größenanderung des Browsers neu positioniert--//-->
<body onload="pos()" onresize="pos()">
<div id="centerbild" style="position:absolute;left:0;top:0;visibility:hidden">
  <a href="../beispiel/beispiel1.html"><img src="../grafiken/grafiken_kunden/beispiel/gross/beispiel1.jpg" width="1024" height="1463" border="0"></a>
</div>
</body>
</html>

Was ist falsch in diesem Code? Gibts vielleicht eine alternative gute Lösung? Vielen Dank im voraus.

Pixelkind
 
Falsch ist auf jeden Fall erstmal der fehlende Doctype. Das JavaScript-Zeugs ist in meinen Augen zu aufgebläht - sowas kann ggfs. auch durch eine reine CSS-Lösung ersetzt werden.

Kann man das irgendwo online sehen?
 
Hi Threadi,

den Code kann man leider nicht online sehen. Portfolio halt für interne Zwecke. Deswegen auch fehlender Doctype.
Ich habe nun selber durch ewiges Ausprobieren die optimale Lösung gefunden, die in Firefox und IE problemlos funktioniert!

Code
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Page</title>
</head>
<body bgcolor="#FFFFFF" style="margin: 0px;">
<table width="100%" table height="100%" align="center" cellspacing="0" cellpadding="0">
  <tr align="center" valign="middle"><td>
<a href="../beispiel1.html" target="_self"> <img src="../grafiken/beispiel1.jpg" border="0"/></a></td>
</tr></table>
</body>
</html>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben