Popup öffnet sich, Hauptseite springt zum Seitenanfang
Jens R.
- javascript
Hallo,
ich habe folgendes Problem:
Auf der Hauptseite habe ich eine Grafik eingebunden, auf der ich einen bestimmten Bereiche mit einem Link versehen habe. Mit einem Mouseover-Effekt wird dieser Bereich optisch verändert. Nach dem Anklicken des Links öffnet sich ein kleines Pop-Up-Fenster, in dem ich einen erklärenden Kommentar zu jenem angeklickten Bereich auf der Grafik hinterlegt habe. Diese Pop-Up-Fenster kann man anschließend wieder mit einem Button schließen.
Soweit funktioniert alles wie gewünscht, doch ein Problem bleibt:
Nach dem Öffnen des Pop-Up-Fensters springt die Hauptseite wieder zum Anfang, also nach ganz oben, zurück. Nur um Verständnisfragen vorzubeugen: Die Hauptseite ist recht groß und man muss recht weit nach unten scrollen, um zu besagter Grafik zu gelangen.
Hier das Script:
<IMG NAME="grafik0" SRC="grafik.jpg" WIDTH="600" HEIGHT="399" BORDER="0" USEMAP="#grafik">
<MAP NAME="grafik">
<AREA SHAPE="poly" COORDS="165,100,175,100,165,130,175,130" href="#" onclick="window.open('grafik.html','','width=550,height=400,left=40,top=70,scrennX=40,screenY=70')" ALT="Grafik"
onMouseOver="if(document.images) document.grafik0.src='grafikalt.jpg';"
onMouseOut="if(document.images) document.grafik0.src='grafik.jpg';" >
Kann mir jemand einen Tipp geben, wie ich dieses "Springen" der Hauptseite verhindern kann?
Vielen Dank im Voraus
Jens
Hi,
<IMG NAME="grafik0" SRC="grafik.jpg" WIDTH="600" HEIGHT="399" BORDER="0" USEMAP="#grafik">
<MAP NAME="grafik">
<AREA SHAPE="poly" COORDS="165,100,175,100,165,130,175,130" href="#" onclick="window.open('grafik.html','','width=550,height=400,left=40,top=70,scrennX=40,screenY=70')" ALT="Grafik"
onMouseOver="if(document.images) document.grafik0.src='grafikalt.jpg';"
onMouseOut="if(document.images) document.grafik0.src='grafik.jpg';" >Kann mir jemand einen Tipp geben, wie ich dieses "Springen" der Hauptseite verhindern kann?
Es liegt an dem href="#". Hier verweist du auf einen Anker auf der aktuellen Seite, wobei wohl # immer auf den Seitenanfang verweist. Du musst also verhindern, dass dem Link gefolgt wird.
Ergänze folgendes, dann sollte es funktionieren:
onclick="window.open('grafik.html','','width=550,height=400,left=40,top=70,scrennX=40,screenY=70'); return false"
mfG,
steckl
Hallo steckl,
Ergänze folgendes, dann sollte es funktionieren:
onclick="window.open('grafik.html','','width=550,height=400,left=40,top=70,scrennX=40,screenY=70'); return false"
Das funktioniert nicht, das funzt™ höchstens.
Benutzer ohne JavaScript werden dann weiterhin an den Anfang der Seite geschickt und nix passiert. Eine brauchbare Lösung wäre:
a) kein href-Attribut verwenden, wenn es kein Link ist (blau und mit
Hand-Maus kann man es auch mit CSS machen) (ohne JavaScript passiert da
wenigstens garnichts, nicht irgendwas falsches)
b) Struppis Vorschlag
Viele Grüße aus Freiburg,
Marian
Hi,
Benutzer ohne JavaScript werden dann weiterhin an den Anfang der Seite geschickt und nix passiert. Eine brauchbare Lösung wäre:
[...]
b) Struppis Vorschlag
Ist mir auch aufgefallen, als ich das gelesen habe. Dein Einwand ist natürlich berechtigt.
mfG,
steckl
Hier das Script:
<IMG NAME="grafik0" SRC="grafik.jpg" WIDTH="600" HEIGHT="399" BORDER="0" USEMAP="#grafik">
<MAP NAME="grafik">
<AREA SHAPE="poly" COORDS="165,100,175,100,165,130,175,130" href="#" onclick="window.open('grafik.html','','width=550,height=400,left=40,top=70,scrennX=40,screenY=70')" ALT="Grafik"
onMouseOver="if(document.images) document.grafik0.src='grafikalt.jpg';"
onMouseOut="if(document.images) document.grafik0.src='grafik.jpg';" >
Warum willst du JS lose Besucher ausschliessen?
Es geht besser:
<AREA href="grafik.html" onclick="window.open(this.href,'f_name','..');return false" ALT="Grafik">
Struppi.
Moin,
Struppis Vorschlag funktioniert einwandfrei.
Vielen Dank für die Hilfe!
Jens