Vollbild mit dem Galerie-script

Fragen und Antworten zur clientseitigen Programmiersprache JavaScript

Vollbild mit dem Galerie-script

Beitragvon elefantino am Do 16. Apr 2009, 05:20

Ich setze das Galerie-script bereits seit einiger Zeit erfolgreich ein, jetzt jedoch möchte ich eine Änderung machen.
Ist es möglich, dass das Detailbild nochmals vergrössert wird, wenn es angeklickt wird, so dass in einem neuen Fenster
ein Vollbild erscheint?
Vielen Dank
elefantino
 
Beiträge: 4
Registriert: Do 16. Apr 2009, 05:15

Beitragvon alm am Do 16. Apr 2009, 10:02

Hallo Elefantino,

das sollte eigentlich kein großes Problem sein. Im HTML-Code steckt ein IMG-Element mit der ID "gross". Um dieses Element kann einfach ein Link gelegt werden, der beispielsweise ein neues Fenster öffnet, in dem das Bild nochmals vergrößert dargestellt wird. Das Script selbst muss dafür nicht geändert werden.

Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Vollbild

Beitragvon elefantino am Do 16. Apr 2009, 18:10

Hallo,
danke erst mal für die schnelle Antwort.
ich bin mir nicht ganz sicher, ob ich die Antwort richtig verstanden habe, oder meine Frage nicht richtig formuliert wurde.
Zur Antwort: Soll ich hier einen Link legen: <img border="0" id="gross" src="galerie/nav/transparent.gif" alt="" title="">? .
Mein Wunsch wäre es ja, dass das Detailbild im neuen fenster noch grösser dargestellt wird, als es in der detailansicht der Fall ist.
Wohin soll das "href" verweisen, es soll ja jedesmal das aktuelle Bild grösser dargestellt werden? ist hier ein weiteres Script notwendig?
Danke für die Hilfe
elefantino
 
Beiträge: 4
Registriert: Do 16. Apr 2009, 05:15

Beitragvon alm am Do 16. Apr 2009, 21:22

Hallo,

habe auf der Leitung gestanden... Zwar geht es nicht ohne JavaScript aber man muss nichts besonderes machen, wenn die Dateinamen der XXL-Bilder entspechend gewählt werden. Dazu kann man einfach die Dateinamen der Detailbilder durch einen einfachen Zusatz vervollständigen - aus gross1.jpg wird zum Beispiel gross1XXL.jpg. Ich würde das mit einem Event machen. Da das Bild beim Anklicken geöffnet werden soll, muss man das onClick-Event nehmen.

Dann öffnet man einfach ein neues Fenster mit der Methode open aus dem Window-Objekt. Statt des einfachen Bild-Tags steht da dann sowas wie:
Code: Alles auswählen
<img onclick="window.open (this.src.replace (/\./, 'XXL.'), '', 'width=800,height=600,toolbar=no,status=no,menubar=no,location=no,toolbar=no')" border="0" id="gross" src="galerie/nav/transparent.gif" alt="" title="">

Der zweite, leere Parameter gibt den Namen des Fensters an, aber der wird sicher nicht unbedingt gebraucht. Habe hier einfach die Breite und Höhe des Fensters mit 800x600 Pixeln angegeben und die Navigationselemente des Browsers ausgeblendet. Einfach die Teile, die benötigt werden mit 'yes' wieder rein nehmen oder die Abmessungen des Fensters mit den entsprechenden Werten abändern.

Gruss
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Vollbild

Beitragvon elefantino am Sa 18. Apr 2009, 10:45

Danke

super genial - ich wußte doch, man muß nur jemanden fragen, der was davon versteht :D

Ciao
Mario
elefantino
 
Beiträge: 4
Registriert: Do 16. Apr 2009, 05:15

Vollbild

Beitragvon elefantino am Mo 20. Apr 2009, 16:11

Leider funktioniert das ganze auf dem Webserver doch nicht . . . :cry:
Nachdem ich die Änderung auf meinem PC lokal getestet habe, dachte ich, dass alles funktioniert, auf dem Webserver
erhalte ich allerdings die Meldung, dass die Domän "wwwxxl. . . ." nicht verfügbar ist. Ich vermute mal, dass etwas mit
den Dateipfaden nicht stimmt. Meine Versuche die Pfade anzupassen waren allerdings erfolglos.
Bitte nochmals um Hilfe

Danke
Ciao
Mario
elefantino
 
Beiträge: 4
Registriert: Do 16. Apr 2009, 05:15

Beitragvon alm am Do 30. Apr 2009, 12:34

Hallo nochmal,

das liegt daran, dass die Punkte aus der Domain ebenfalls ersetzt werden. Der reguläre Ausdruck muss entsprechend angepasst werden, damit nur der Letzte im String enthaltene Punkt ersetzt wird und die erkannte Dateiendung muss dann noch angehängt werden. Es sollte sich mit folgendem Aufruf lösen lassen:
Code: Alles auswählen
<img onclick="window.open (this.src.replace (/\.(jpg|gif|png)$/i, 'XXL.$1'), '', 'width=800,height=600,toolbar=no,status=no,menubar=no,location=no,toolbar=no')" border="0" id="gross" src="galerie/nav/transparent.gif" alt="" title="">


Gruß,
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Beitragvon justsomeone am So 28. Jun 2009, 19:19

Hallo.
Was genau muss ich da jetzt in dem Code ändern und wo muss ich ihn einfügen? Ich werde daraus nicht schlau. :?
Vielen Dank schonmal für die Bemühungen. :)

Achso. Ich habe ausprobiert, ob das Große Bild auch als .swf geladen werden kann. Das funktionierte bei mir aber nicht. Gibt es da eine Möglichkeit, dass statt einem großen Bild, ein swf geladen wird?
justsomeone
 
Beiträge: 2
Registriert: So 28. Jun 2009, 19:17

Beitragvon alm am Mo 29. Jun 2009, 08:20

Hallo und Willkommen,

die Zeile muss in der Galerie (genauer gesagt im HTML-Code des Beispiels in Datei beispiel.html) anstelle der Zeile
Code: Alles auswählen
<img border="0" id="gross" src="nav/transparent.gif" alt="" title="">

eingebaut werden. Ob das so ohne weiteres auch mit einem Flash-File in einem neuen Fenster klappt weiss ich nicht genau, allerdings sollte es funktionieren, da eine direkte Angabe von Flash-URLs normalerweise kein Problem ist. Anders als beim oben angegebenen Code muss aber die Endung ersetzt werden. Etwa so:
Code: Alles auswählen
<img onclick="window.open (this.src.replace (/\.(jpg|gif|png)$/i, '.swf'), '', 'width=800,height=600,toolbar=no,status=no,menubar=no,location=no,toolbar=no')" border="0" id="gross" src="galerie/nav/transparent.gif" alt="" title="">

Dabei wird, anders als bei der vorher genannten Lösung, die durch den regulären Ausdruck erkannte Bildendung (gif,jpg oder png) nicht in den durch XXL erweiterten Dateinamen übernommen, sondern durch die Endung SWF für das Flash-File ersetzt. Aus bild1.jpg wird dann bild1.swf, während bei der vorherigen Variante aus bild1.jpg bild1XXL.jpg wurde.

Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Beitragvon justsomeone am Mo 29. Jun 2009, 19:37

Super, vielen Dank. Ich stand irgendwie auf dem Schlauch. Funktioniert einwandfrei. Echt klasse. Danke für deine schnelle und freundliche Hilfe.
Und ja, swf lässt sich nun auch öffnen. Perfekt. :D :D :D
justsomeone
 
Beiträge: 2
Registriert: So 28. Jun 2009, 19:17


Zurück zu JavaScript

cron