JürgenB: langsam zu Anker fahren - nicht springen.

Beitrag lesen

Hallo surfer,

mit http://de.selfhtml.org/javascript/objekte/window.htm#scroll_to kannst Du eine Position auf der Seite anfahren.
mit http://de.selfhtml.org/javascript/objekte/all.htm#offset_top und http://de.selfhtml.org/javascript/objekte/all.htm#offset_parent bzw. http://de.selfhtml.org/javascript/objekte/anchors.htm#y ermittelst Du die aktuelle und die Zielposition. Das funktioniert auch mit DOM-Objekten. Ich zeige Dir mal meine Version, mit der ich die Position eines Elements ermittle:

function get_top(obj) {
 var curtop = 0;
 if (obj.offsetParent) {
  while (obj.offsetParent) {
   curtop += obj.offsetTop
   obj = obj.offsetParent;
  }
 }
 else if (obj.y)
  curtop += obj.y;
 return curtop;
}

(Habe ich hier: http://javascript.jstruebig.de/javascript/53/ abgeschrieben.)

Mit

window.scrollTo(0,get_top(document.getElementById("Resultate")));

springe ich dann direkt zum Element mit der Id "Resultate".
Du müsstest jetzt in einer mit http://de.selfhtml.org/javascript/objekte/window.htm#set_timeout verzögerten Schleife langsam Schritt für Schritt von der aktuellen zur Zielposition "hüpfen".
Vergiss aber nicht, für User ohne Javascript noch einen "HTML-Sprung" im Code zu lassen.

Gruß, Jürgen