JavaScript Image-Resizing

Fireball89

Captain
Registriert
Aug. 2007
Beiträge
3.498
Hallo Leute,

also es geht bei mir um ein Foren-Template, indem eine Resizing-Funktion eingebaut werden soll.
Hab da in der phpbb Mod-DB was gefunden und es selber noch ein bisschen modifiziert.
Das ist mein jetziger Stand:
Code:
<img src="{URL}" border="0" onclick="javascript:window.open('{URL}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')" onload="javascript:if(this.width > screen.width-250)this.width = (screen.width-250)" title="Das gepostete Bild wurde automatisch verkleinert. Klicke auf das Bild um es in voller Größe zu sehen." /><!-- END img -->

Das Problem dabei ist, dass bei Bildern, die kleiner als screen.width-250 sind auch über das onclick-Feature verfügen. Und der title erscheint bei diesen kleinen Bildern natürlich auch.
Dann habe ich mal folgendes probiert.
Code:
<img src="{URL}" border="0" onclick="javascript:if(x > screen.width-250)window.open('{URL}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')" onload="javascript:var x = this.width;if(this.width > screen.width-250)this.width = (screen.width-250)" title="Das gepostete Bild wurde automatisch verkleinert. Klicke auf das Bild um es in voller Größe zu sehen." /><!-- END img -->

Dann funktioniert onclick leider garnicht mehr.

Ich muss dazu sagen ich hab eigentlich keine Ahnung von JS, hab nur mal in der Schule Java gelernt^^

Also ums nochmal auf den Punkt zu bringen.
Die Bilder die kleiner als screen.width-250 sind, sollen kein onclick und auch kein title enthalten.
 
och leute bitte, irgendwer wird da doch was wissen.
 
Hi Fireball89,

mein Vorschlag wäre erstmal die JS-Sachen, die du bei onclick etc. ausführen willst, lieber in Methoden zu packen (vor allem der Übersichtlichkeit wegen).
Ich selber kenne mich mit JS nicht allzu gut aus, aber vielleicht helfen dir diese Tipps:
Für onclick: Eine Methode,die als Parameter das Bild (oder Bild-URL) erhält. Diese prüft, ob das Bild die verlangte Größe hat. Ist das der Fall, dann öffnest du das Popup, sonst machst du nichts oder gibst false zurück (wahrscheinlich ist das aber nicht nötig).
Für titel: Eine vergleichbare Methode wie für onclick, aber anstatt ein Popup zu öffnen gibst du den gewünschten String zurück.
Die Attribute eines Bildes sollte man problemlos mit JS auslesen können, ob man auch die aktuelle Bildschirmgröße bzw. -auflösung auslesen kann kann ich dir nicht sagen.
Ach ja, vielleicht hilft dir das hier weiter Detect image size with JavaScript.

Viel Erfolg.
 
Zuletzt bearbeitet:
Zurück
Oben