Scroll to element
Thu Feb 17 2022 10:28:06 GMT+0000 (Coordinated Universal Time)
Saved by
@2w8ight
#javascript
function smoothScrollTo(target, duration) {
var timer, start, factor;
var offset = window.pageYOffset, delta = target - window.pageYOffset;
duration = duration || 1000;
start = Date.now();
factor = 0;
if (timer) {
clearInterval(timer);
}
function step() {
var y;
factor = (Date.now() - start) / duration;
if (factor >= 1) {
clearInterval(timer);
factor = 1;
}
y = factor * delta + offset;
window.scrollBy(0, y - window.pageYOffset);
}
timer = setInterval(step, 10);
return timer;
}
content_copyCOPY
Comments