Scroll to element

PHOTO EMBED

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