Robert Bamler: Anker auf versch. Seiten mit einem Menupunkt ansprechen

Beitrag lesen

Hallo Caveman,

Das muss irgendwas damit zu tun haben, aber ich komme nicht dahinter.

Ja, richtig geraten ;-)
Diese Funktion setzt auf etwas umständliche Weise den Ankerpunkt. Du kannst sie im Head-Bereich deiner Seite (also zwischen <head> und </head>) einbinden und dann aus dem Body so aufrufen:
<a href="javascript:GoLabel('top')">Hoch</a>

oder so:
<input type="button" onclick="GoLabel('top')" value="Hoch" />

Anscheinend sitzt das ganze in einem Frameset von dem ein Frame "Middle" heißt. In diesem Middle-Frame scheint es einen weiteren (I-)Frame zugeben, der auf den Namen "Text" hört. Und in diesem Text-Frame wird der Ankerpunkt gesetzt.

var ref = top.Middle.Text.location.href.replace(/#.*/,"");

Die lokale Variable ref wird mit dem URL der im Text-Frame angezeigten Seite Initialisiert. Ein eventuell bereits gesetzter Ankerpunkt wird abgetrennt.

ref = ref + "#" + Ziel;

An ref wird nach einem Gatterzeichen der neue Ankerpunkt angehängt.

//alert (ref);

Zum debuggen: Wenn die beiden Schrägstriche entfernt werden, gibt der Browser den Inhalt der Variablen ref zum Test aus.

top.Middle.Text.location.href = ref;

Die Adresse des Text-Frames wird auf die neue Ankerposition gesetzt.

Du kannst es auch so schreiben (finde ich einfacher):

<script language="JavaScript">
function GoLabel(Ziel)
{
  top.Middle.Text.location.hash = "#" + ref;
  return false;
}
</script>

Viel Erfolg,
Robert

--
Dieser Beitrag wurde zu 100% aus ganzen Sätzen hergestellt und ist biologisch abbaubar.