木灵鱼儿

木灵鱼儿

阅读:1800

最后更新:2020/12/01/ 11:38:52

原生js 滚动条返回顶部 动画函数

直接把饿了么的返回顶部动画提取出来了,直接上代码

//返回顶部函数
const cubic = (value) => Math.pow(value, 3);
const easeInOutCubic = (value) =>
    value < 0.5 ? cubic(value * 2) / 2 : 1 - cubic((1 - value) * 2) / 2;
const el = document.documentElement;

export const goScroll = function() {
    const beginTime = Date.now();
    const beginValue = el.scrollTop;
    const rAF =
        window.requestAnimationFrame || ((func) => setTimeout(func, 16));
    const frameFunc = () => {
        const progress = (Date.now() - beginTime) / 500;
        if (progress < 1) {
            el.scrollTop = beginValue * (1 - easeInOutCubic(progress));
            rAF(frameFunc);
        } else {
            el.scrollTop = 0;
        }
    };
    rAF(frameFunc);
};

vue直接把这个函数丢到js文件里面然后import引入就行了,其他的比如传统html环境,自己把export去掉就行了,如何还是不会用,说明你js基础很差,自行百度吧。

版权申明

本文系作者 @木灵鱼儿 原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

关于作者

站点职位 博主
获得点赞 25
文章被阅读 1800

相关文章

目录树