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

//返回顶部函数
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基础很差,自行百度吧。

分类: JavaScript 标签: javascript返回顶部原生js滚动条动画

评论

暂无评论数据

暂无评论数据

目录