Hallo,
in einem "Guckfenster" von 600px Breite sehe ich den ersten von sechs 600px breiten Abschnitten x1 bis x6. Per Link in x1 springe ich eine JS Routine an, die den 6er-Block um 600px nach links schiebt. Nun ist x2 im Guckfenster. Von da komme ich nach x3 usw.
x1 x2 x3 x4 x5 x6
+---+---+---+---+---+---+
! ! ! ! ! ! !
! ! ! ! ! ! !
+---+---+---+---+---+---+
<-------- 3600px ------->
<a href="#x2" onmousedown='return h_scroll("-600")'>zu Seite 2</a>
Exakt den gleichen Link habe ich auch auf dem feststehenden Kopf der HTML-Seite, um direkt zu einem der 6 Abschnitte zu scrollen.
Doch da wird offenbar auch href="#x2" ausgeführt. Der 6er-Block springt nach oben und in der Adresszeile des Browsers wird /#x2 angehängt, das war beim anderen Link nicht so.
Ich kann mir nicht erklären, warum der "mitfahrende" Link richtig funktioniert, der "feststehende" aber nicht.
<script type="text/javascript">
var ist_px = 0, soll_px, diff_px, aktiv;
function h_scroll(px) {
soll_px = px;
if ( ist_px > soll_px ) // nach rechts schieben
{
diff_px = 60; // margin wird groesser
scroll();
}
else if ( ist_px < soll_px ) // nach links schieben
{
diff_px = -60; // margin wird kleiner
scroll();
}
}
function scroll() {
if ( ist_px != soll_px )
{
ist_px = ist_px -diff_px;
document.getElementById('px3600').style.marginLeft = ist_px +'px';
aktiv = window.setTimeout("scroll()", 50);
}
else
{
window.onmousedown = '';
return true;
}
}
</script>
Gruß, Murmelin