Sup!
Mal vorneweg: Sicher hat sich ElCabadingsbums ganz schön daneben benommen, aber Euer verhalten kommt dem doch genau gleich, ihr stellt euch auf die gleiche Stufe... Sorry, aber ist echt so!
Kann ich so nicht finden. Wenn ich Dir eine reinhaue, und Du haust zurück, dann haben wir zwar beide das gleiche gemacht, aber ich bin trotzdem schuld, oder?
Ich bin ziemlicher Anfänger mit JavaScript, aber die Funktion wird durch jeden Button ja neu aufgerufen. Wird dort trotzdem die zuletzt gespeicherte URL abgerufen? Ich hätte jetz auch gedacht, dass immer wieder die URL der Seite neu abgefragt wird!?
Also, wenn die Seite http://seite.de/index.html ist, dann ist
window.location.href == "http://seite.de/index.html"
Wenn Du nun sagst
window.location.href=window.location.href+"#anker"
dann wird
window.location.href == "http://seite.de/index.html#anker"
Wenn Du nochmal das gleiche machst, dann passiert IMHO folgendes:
windows.location.href = window.location.href + "#anker2"
windows.location.href = "http://seite.de/index.html#anker" + #anker2
Also ergibt sich
window.location.href == "http://seite.de/index.html#anker#anker2"
weil Du jedesmal etwas hinten anhängst. Darum schlägt Antje auch vor, mit windows.location.href.hash="#ankerXY" zu arbeiten, weil dadurch das Problem des immer-mehr-anhängens eliminiert wird.
Gruesse,
Bio