Bildgalerie springt immer zum Anfang der Seite
scala
- javascript
0 JürgenB0 Der Martin
Hallo an Alle,
ich habe eine Bildgalerie mit kleinen Thumbnails gestaltet. Wenn man daraufklickt soll eine neues Fenster aufgehen, indem man sich das Bild in etwas besserer Auflösung anschauen kann. Die Seite im Hintergrund (die mit den Thumbnails) springt aber immer wieder an die oberste Stelle zurück. Wie kann ich dies verhindern. Anbei ein Auszug aus dem Script:
<td width="148" height="148"><a href="#" onClick="MM_openBrWindow('koch_foto.htm','fotos','width=610,height=475')"><img src="../bilder/fotos/koch03_thumb.jpg" width="148" height="111" border="0"></a><a name="reihe3-5"></a></td>
<td width="4" height="148"> </td>
Vielen Dank für eine schnelle Hilfe.
Hallo scala,
<td width="148" height="148"><a href="#" onClick="MM_openBrWindow('koch_foto.htm','fotos','width=610,height=475')"><img src="../bilder/fotos/koch03_thumb.jpg" width="148" height="111" border="0"></a><a name="reihe3-5"></a></td>
<td width="4" height="148"> </td>
setze mal hinter das openBrWindow(...) ein ";return false". Dann wir das Ziel "#" nicht mehr angesprungen. Noch besser wäre:
<a href="koch_foto.htm" onClick="MM_openBrWindow(this.href,'fotos','width=610,height=475');return false"><img src="../bilder/fotos/koch03_thumb.jpg" width="148" height="111" border="0"></a>
So sehen Besucher ohne Javascript auch noch etwas.
Vielen Dank für eine schnelle Hilfe.
War das jetzt schnell genug?
Gruß, Jürgen
Hallo,
[...] Wenn man daraufklickt soll eine neues Fenster aufgehen, indem man sich das Bild in etwas besserer Auflösung anschauen kann.
das hast du ja mit einem kleinen Javascript schon hinbekommen. Allerdings kann man das noch erheblich verbessern.
Die Seite im Hintergrund (die mit den Thumbnails) springt aber immer wieder an die oberste Stelle zurück.
Natürlich. Das steht ja auch so in deinem Link: <a href="#">
Deine Konstruktion hat zwei Probleme. Erstens -und das halte ich für das gravierende Problem- kann ein Besucher ohne Javascript _gar nichts_ damit anfangen, das Bild ist für ihn praktisch nicht erreichbar. Zweitens behält der Link bei dir seine normale Funktion als Link, und sein Ziel ist "#", also der Anfang der aktuell angezeigten Seite.
Beide Probleme gehen eigentlich Hand in Hand: Du hast ein nutzloses href-Attribut, und der Besucher ohne JS hätte gern ein sinnvolles. Also muss der erste Schritt sein, dass du die URL des Bildes ganz regulär als Linkziel angibst. Dann kann man zumindest mal unabhängig von JS über den Link das Bild öffnen. Zweitens musst du verhindern, dass der Link bearbeitet wird, wenn JS aktiv ist - denn dann kommt ja dein Popup. Das machst du, indem dein Eventhandler false zurückgibt.
Kombiniert könnte das also etwa so aussehen:
<a href="koch_foto.htm" onclick="window.open(this.href, 'fotos', 'parameterstring'); return (false);"><img src="koch_thumb.jpg" alt="Beschreibung"></a>
Wie du siehst, brauchst du auch bei dieser Doppellösung den Pfad zum Bild nur an einer Stelle (nämlich im href-Attribut) anzugeben, weil das JS sich den Wert über this.href automatisch holt.
Übrigens hattest du in deinem Codebeispiel auch noch das alt-Attribut für das Bild vergessen.
So long,
Martin