Ich möchte Seite zu einem genauen Element nach dem Klicken auf einen Link zu scrollen. Aber nach dem Klicken scrollt es zum Ende einer Seite und wenn ich versuche hoch zu scrollen, versucht es nach unten zu scrollen.JavaScript clearInterval funktioniert nicht
Also, es bedeutet, dass clearInterval()
in meiner Funktion nicht funktioniert und ich verstehe nicht. "Warum ?" Hier
ist die Funktion:
function smoothScr() {
\t var elem = document.getElementById("main");
\t var elemPos = elem.getBoundingClientRect().top;
\t var i = 0;
\t var changePos = setInterval(changingPos, 10); \t
\t function changingPos() {
\t \t if (elemPos == 0) { \t \t \t \t \t
\t \t clearInterval(changePos);
\t \t } else { \t
\t \t \t i++;
\t \t \t window.scrollBy(0, i);
\t \t };
\t }
}
Warum nicht Anker verwenden? –
'elemPos' wird nur einmal definiert, wenn Sie' smoothScr' aufrufen. Es wird nicht automatisch aktualisiert. Sie müssen den Wert in 'changingPos' ändern. – Teemu
'window.scrollBy' in Ihrem Fall sollte durch 1ps, 2px, 3px und so weiter scrollen. versuche, es in 'window.scrollBy (0, 1)' zu ändern, wird das funktionieren? – serge1peshcoff