var offTop = $('#box').offset().top - 43;
$('#mainCt').scrollTop(offTop);
Das scrollTop Die Eigenschaft akzeptiert nur eine Ganzzahl, es sind keine Suffixe oder Einheiten erforderlich.
Funktioniert hier gut: jsfiddle.net/wNehJ Hast du irgendwelche Fehler in deiner Konsole?
– Rory McCrossan
13. April 2012 um 15:37 Uhr
auch wenn du etwas nach unten scrollst? Bearbeiten: Spielen Sie damit, es funktioniert nicht (ich überprüfe den Code in Firefox und in Chrome)
– Benutzer970727
13. April 2012 um 15:51 Uhr
Ich denke, das liegt daran, dass es keine gibt #box Element in Ihrem Beispiel
– Rory McCrossan
13. April 2012 um 15:57 Uhr
-> $(this).after(‘
content
‘);
– Benutzer970727
13. April 2012 um 16:00 Uhr
Uh, Entschuldigung. Ich brauche offensichtlich eine bessere Brille.
– Rory McCrossan
13. April 2012 um 16:00 Uhr
chepe263
vielleicht, wenn Sie keine Animation oder irgendetwas Besonderes wollen, verwenden Sie einfach einen Anker
<a name="top"></a>
Platzieren Sie es dort, wo Sie scrollen müssen
und in Ihrer Funktion, wo Sie aufrufen, verwenden
document.location.href="#top";
Sie könnten auch eine Funktion erstellen, um den Anker vor dem Element anzuhängen, tun Sie dies document.location Ding und entfernen Sie später diesen Anker.
Das funktioniert, aber wie kann ich jQuery ScrollTop ohne Animation verwenden?
– Benutzer970727
18. April 2012 um 6:56 Uhr
Während diese Antwort “funktioniert”, bringt sie den Browserverlauf durcheinander. $(element).scrollTop(offset) ist besser für die Neupositionierung ohne Animation und ohne den Browserverlauf zu verändern. Insbesondere $(window).scrollTop(offset) zum Neupositionieren eines Accordion-Abschnitts der jQuery-Benutzeroberfläche, nachdem das Accordion geladen wurde.
– Ruben
12. April 2016 um 22:59 Uhr
Jeroen Flammann
jQuery überspringen. Verwenden Sie einfach JavaScript:
Warum nicht mit kürzerer Dauer verwenden. Ich habe daran herumgefummelt und es hatte keine Animation. Da keine Zeit bleibt, die Animation zu sehen, wird es überhaupt keine Animation geben.
var offTop = $('#box').offset().top;
offTop = offTop-43;
$('#mainCt').animate({scrollTop: '+=' + offTop + 'px'}, 50); //50 added here as duartion