0
点赞
收藏
分享

微信扫一扫

节流 vue

胡桑_b06e 2022-04-01 阅读 92

// 相当于人进大门;

function throttle(fn, delay) {

        let open = true; //进来就设置门开状态

        return function() {

            if (open == true) {

                //门开,进来一个人,马上锁住。定时任务没执行,门的状态一直锁着

                open = false;

                setTimeout(() => {

                    fn();

                    open = true; //定时任务执行,门的状态变为打开,可以再次进来人,,,进来以后在锁着如此循环

                }, delay);

            }

        };

    }

window.onscroll = throttle(showTop, 5000);

function showTop() {

        var scrollTop =

            document.body.scrollTop || document.documentElement.scrollTop;

        console.log('滚动条位置:' + scrollTop);

    }

相当于第一个人,门开着,进去了,,,然后迅速关上门,变量改为关,定时器还没有执行,,第二个人进来通过读取闭包函数的变量,,,来查看门的状态 是关着的,然后一直再来人 一直是这样,知道计算器工作 把门的状态打开,进来人。。再讲门的状态改为关闭,定时器还没有执行,后面的人通过读取闭包函数的变量,,,来查看门的状态 是关着的,然后一直再来人 一直是这样。。。。。。。。。。。。

举报

相关推荐

0 条评论