Bilder automatisch horizontal anpassen

Hallo zusammen,

ich habe eine Reihe von Bildern, auf denen Text zu sehen ist, die der Benutzer sich hintereinander anschauen können soll.

Dafür benutze ich die folgende Funktion ...
Code:
       function showBild(path){

            parent.frames[0].location.href=path;
       }

... und folgende Aufrufe im <body> ...
Code:
<a href="javascript:showBild('Bilder/45-groß.jpg')">show Bild1</a>
<a href="javascript:showBild('Bilder/49-groß.jpg')">show Bild2</a>
<a href="javascript:showBild('Bilder/95-groß.jpg')">show Bild3</a>


Im Prinzip funktioniert das auch, nur ist das Problem, dass die Bilder ziemlich groß sind und nicht auf einen normalen Bildschirm passen.
Ich würde gerne, dass sich die Breite des Bildes genau der Breite des Bildschirmes anpasst, so dass der Benutzer beim lesen nur vertikal und nicht auch noch horizontal scrollen muss.
Am besten wäre es, wenn ein Klick in das Bild ein Hereinzoomen auf die Original-Größe bewirken würde.

Defaultmäßig passt Netscape (7.1) die Bilder bei jedem JavaScrip-Aufruf an die Größe des Bild-Frames an (beim ersten Laden, wird nicht angepasst), allerdings horizontal UND vertikal, so dass die Bilder viel zu klein dargestellt werden. IE (6.0) passt die Bilder innerhalb des Frames gar nicht an.

Kennt vielleicht irgendjemand einen Befehl, der mir da weiterhelfen könnte?

Vielen Dank für jede Hilfe,

Peter
 
Solange du in dem Frame kein HTML-Dokument hast(und ein Bild ist keines), lässt sich da nix machen.

Du brauchst ein HTML-Dokument...dort gebe dem Bild eine Breite von 100%... das wars. dieses Dokument kannst du per write() auch "on the fly" erzeugen.... es muss also nicht real existieren.
 
Hi!

Vielen Dank erstmal für den Tipp! Der war super! (Hat nur etwas gedauert, weil ich im Urlaub war ...)

Mit dem write-Befehl habe ich es tatsächlich hinbekommen, dass die Bilder nicht mehr horizontal gescrollt werden müssen.

Einziges Problem: Anders als bei der automatischen Bildanpassung z.B. von Netscape kann ich hier nicht zoomen, d.h.die Original-Größe anzeigen lassen.

Habe dafür eine Javascript-Funktion geschrieben, die im Prinzip auch funktioniert, die ich aber nicht funktionsfähig in die Seite integriert bekomme, die ich mit den write-Befehlen schreibe.
Ich vermute, das liegt an den fehlenden Anführungszeichen. '&quot;' wird nämlich nicht in ' " ' umgewandelt, wenn man sich die aufgebaute Seite anschaut... Könnte das sein?
(Das alles in JSP-Seiten steckt, dürfte eigentlich kein Problem sein,oder?)

Hat vielleicht jemand eine Idee, was ich anders machen könnte?

Schöne Grüße,
Peter

hier meine Funktion, die aus dem Steuerungs-Frame heraus (parent.frames[1]) aufgerufen wird.

Code:
function showBild(path){

           parent.frames[0].document.open();
           parent.frames[0].document.writeln("<html><head>");
           parent.frames[0].document.writeln("<script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;>");
           parent.frames[0].document.writeln("function zoomIn(){");
           parent.frames[0].document.writeln("");
           parent.frames[0].document.writeln("parent.frames[0].document.open();");
           parent.frames[0].document.writeln("parent.frames[0].document.write(&quot;<img alt=&quot;press &quot;back button&quot; to return to smaller size&quot; src=&quot;" + path + "&quot;/>&quot;);");
           parent.frames[0].document.writeln("parent.frames[0].document.close();");
           parent.frames[0].document.writeln("}");
           parent.frames[0].document.writeln("</script>");
           parent.frames[0].document.writeln("</head>");
           parent.frames[0].document.writeln("<body><img onclick=&quot;zoomIn()&quot; width=&quot;100%&quot; alt=&quot;ZoomIn&quot; src=&quot;" + path + "&quot;/></body></html>");
           parent.frames[0].document.close();
    	}
 

Neue Beiträge

Zurück