Bild auswerten. Brauche Hilfe
Markus Bloß
- javascript
Ich möchte erreichen, daß sich beim Klicken eines Bildes (Vorschau) ein Fenster öffnet das genau an die größe des zu ladenen Bildes angepaßt ist. An sich funktioniert mein Script schon ganz gut aber leider erst beim zweiten mal. Beim ersten Aufruf ist das Bild noch nicht geladen und kann entsprechend nicht richtig ausgewertet werden, da nur ein Verweiß gemacht worden ist.
Ich suche nun eine Möglichkeit, das Bild im Script zu laden ohne es darzustellen um es dann korrekt auswerten zu können.
<SCRIPT LANGUAGE='JavaScript'><!--
function openPic(pic)
{
img = new Image();
img.src = pic;
var xy = 'width=' + (img.width ) + ',height=' + (img.height );
wind=window.open(pic, 'traumofen', xy);
}
//-->
</SCRIPT>
<A HREF="#" onClick="javascript:openPic('picture2-0.jpg')">
Gruß
Markus@cns-buero.de
Hallo Markus,
warum lädst' Du das Bild nicht einfach in eine globale Variable bzw. ein Array, damit es nicht erst beim Funktionaaufruf ausgeführt wird, also:
img[0] = new Image();
img[0].src = 'picture2-0.jpg';
function openPic(picnr)
{
var xy = 'width=' + (img[picnr].width ) + ',height=' + (img[picnr].height );
wind=window.open(img[picnr], 'traumofen', xy);
}
<A HREF="#" onClick="javascript:openPic(0)">
Viele Grüße
Stephan
Das würde vielleicht funktionieren ist aber nicht in meinem Interesse, da ich eine allgemein gültige Lösung suche. Ich möchte im nachhinein die Information um welches Bild es sich handelt aus einer Datenbank auslesen und darüber den Aufruf ansprechen. Somit kann ich zuvor kein Globales Array anleben, da ich bei der Seitenerstellung das Bild noch nicht kenne. Es muß doch möglich sein das Bild zuvor in den Speicher zu laden ohne es anzeigen zu müssen. Ich weiß nur leider nicht wie und alle versuche sind mir Misslungen.
Hallo Markus,
warum lädst' Du das Bild nicht einfach in eine globale Variable bzw. ein Array, damit es nicht erst beim Funktionaaufruf ausgeführt wird, also:
img[0] = new Image();
img[0].src = 'picture2-0.jpg';function openPic(picnr)
»» {
var xy = 'width=' + (img[picnr].width ) + ',height=' + (img[picnr].height );
»» wind=window.open(img[picnr], 'traumofen', xy);
}
<A HREF="#" onClick="javascript:openPic(0)">
Viele Grüße
Stephan