Mehrere Popup-Fenster von Thumbnails -- wo hakt's??
Sara Dochtmann
- javascript
Hallo Ihr,
ich komm mit dem Javascript nicht klar zu folgendem Problem (und hab auch im Archiv nix gefunden):
Von einer Hauptseite voller Thumbnails soll sich bei Klick auf die Einzelthumbs ein PopUp-Fenster öffnen.
Also bringt es nicht viel, im Header die -- in Anleitungen immer wieder beschriebene -- windows.open-Funktion inklusive URL zu definieren. Eher muss im body zu jedem Bildlink die Popup-URL definiert werden. Oder?
Definiere ich jetzt oben etwas Generelles, auf das ich mich unten jeweils beziehen kann?
Oder verzichte ich oben und schreibe unten viele kleine window.open rein. Oder mit OnClick? Leider ist mir auch die Syntax mit "this.href" nicht ganz klar -- wenn Ihr also Tipps für mich hättet?
Meine Versuche bisher:
A)
<a onClick="window.open(href=bild1.htm","bild1","width=450,top=20,left=30,screenX=30,screenY=20"); return=false;">
<img class="image" src="bild1.jpg" border="0" alt="Bild_1"></a>
B)oder mit oben definierter Funktion PopupFenster:
<a href="bild1.htm" onClick="PopupFenster(this.href); return false"><img class="image" src="bild1.jpg" border="0" alt="Bild_1"></a>
INzwischen bin ich komplett durcheinander, hoffe also auf Eure Hilfe. Danke im Voraus!!!
hiho,
naja das schreit doch nach einer funktion mit netten parametern ;-) .. sprich, du schreibst nicht jedes mal den window.open-krimskram bei jedem link hin, sondern nur das wichtigste - in deinem fall die url der im popup zu ladenden seite:
in den head kommt die funktion:
<script type="text/javascript">
function ShowIt(BILDURL){
BIGPIC = window.open(BILDURL,"BigPicWindow",width=450,top=20,left=30,screenX=30,screenY=20);
}
</script>
der aufruf geht dann relativ locker:
<a href="bild1.htm" onClick="ShowIt(this.href); return false;"><img class="image" src="bild1.jpg" target="_blank" border="0" alt="Bild_1"></a>
<a href="bild2.htm" onClick="ShowIt(this.href); return false;"><img class="image" src="bild2.jpg" target="_blank" border="0" alt="Bild_2"></a> [usw.]
eigentlich gehst du davon aus, dass der user javascript aktiviert hat. für den fall das nicht, notiert man erstmal den aufruf z.b. der bild1.htm als "neues fenster", also keine direktes popup, sondern als wenn man mit der rechten maustaste klickt und "in neuen fenster öffnen" wählt. und in diesem fenster würde dann die seit geladen werden (target="_blank"), die im normalen href-attribut des links steht.
mit dem onclick-eventhandler, der nur mit javascript funktioniert, rufst du beim klicken aber dein popup auf. mit dem "this.href" kannst du direkt auf das zugreifen, was du im href-attribut notiert hast, wegen weil der onclick-aufruf wurde ja im <a>-tag notiert, welches das aktuelle element darstellt. und aktuell ist gleich "this". und alle attribute des a-tags sind daher mit einem punkt getrennt direkt abfragbar, hier also das href durch "this.href".
vom prinzip her könntest du statt des "this.href" auch noch mal "bild1.htm" schreiben - aber warum doppelt moppeln?
ok, und das "return false" verhindert im falle aktivierten javascripts, dass sich neben dem gewünschten popup auch noch das nur für den notfall (kein js aktiviert) gedachte "neue fenster" zusätzlich öffnet.
klar soweit?
gruß hein
hiho,
naja das schreit doch nach einer funktion mit netten parametern ;-) .. sprich, du schreibst nicht jedes mal den window.open-krimskram bei jedem link hin, sondern nur das wichtigste - in deinem fall die url der im popup zu ladenden seite:
[erklärung]
klar soweit?
gruß hein
Hi Hein,
alles klar, das hat prima geklappt, genauso hatte ich mir das vorgestellt (aber aus SelfHTML nicht rauskitzeln können). Danke!
Jetzt hab ich nur noch ein Detail:
Der Titel im PopUp-Fenster ist der gleiche wie der der Ursprungsseite: kann man dem Fenster einen eigenen "Seitentitel" zuweisen, oder kann ich die Titelzeile ganz ausblenden? (nur wenn's dann einen Button zum Schließen gibt, wa?)
Schönen Gruß,
Sara
Tschuldigung,
war 'ne dämliche Frage -- hat sich schon erledigt...
Sara
Jetzt hab ich nur noch ein Detail:
Der Titel im PopUp-Fenster ist der gleiche wie der der
Ursprungsseite: kann man dem Fenster einen eigenen "Seitentitel"
zuweisen, oder kann ich die Titelzeile ganz ausblenden? (nur
wenn's dann einen Button zum Schließen gibt, wa?)