Jens R.: Popup öffnet sich, Hauptseite springt zum Seitenanfang

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

  1. 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

    1. 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

      --
      Microsoft broke Volkswagen's world record: Volkswagen made only 22 million bugs!
      <!--[if IE]><meta http-equiv="refresh" content="0; URL=http://www.getfirefox.com"><[endif]-->
      1. 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

  2. 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.

    --
    Javascript ist toll (Perl auch!)
  3. Moin,

    Struppis Vorschlag funktioniert einwandfrei.
    Vielen Dank für die Hilfe!

    Jens