Jan: Probleme mit Bilder vorladen

Beitrag lesen

Hallo,

hab ein kleines Problem mit meinem js, und zwar war das ganze so gedacht, jemand klickt auf ein Vorschau Bild und es öffnet sich ein Popup in dem das Bild groß dargestellt wird. Leider wird die Größe des Popups immer erst beim zweiten mal anklicken des Vorschau Bildes in der richtigen Größe angezeigt. Tippe mal darauf das das Vorladen nicht richtig funktioniert.

Bsp. für den Aufruf in der HTML-Datei

<img src="../images/computer/WIN_XP_KL.jpg" name="xp" width="144" height="154" class="withRigthText" alt="Klicken, um das Bild zu vergr&ouml;&szlig;ern" onClick="loadImg(this)">

Hier die extern eingebunde js-Datei:

function loadImg(mySource, title, caption) {

var def = '';
var fileName = mySource.src;
fileName = fileName.replace(/KL/, "GR");
var pic = new Image();
pic.src = fileName;

if ( title == null) title = def;
if( caption == null) caption = def;

pic.onLoad = makePopup(pic, fileName, title, caption);
}

function makePopup(pic, fileName, title, caption){
  container = window.open('', '','resizable=1');
   with (container) {
    focus ();
    document.open();
    document.write('<meta http-equiv="imagetoolbar" content="no">');
    document.write('<title>' + title + '</title>');
    document.write('<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" scroll="no" onload="opener.render(' + pic.width + ', ' + pic.height + ')">');
    document.write('<img src="' + fileName+ '" border="0" alt="' + caption + '" onClick="javascript:self.close()">');
    document.close();
   }
}

function render(x,y) {
if (navigator.appName == 'Microsoft Internet Explorer') {
  container.resizeTo(x+10,y+29);
} else {
  if(navigator.appVersion.substring(0,1) < "5") {
   container.resizeTo(x,y);
  } else {
   container.resizeTo(x+8,y+28);
  }
}
newX=(screen.availWidth/2)-(x/2);
newY=(screen.availHeight/2)-(y/2);
container.moveTo(newX,newY);
}

Für eure Hilfe besten dank.

Mfg Jan