开发者社区> 问答> 正文

实现一个防抖函数?

展开
收起
前端问答 2019-11-24 20:34:36 923 0
1 条回答
写回答
取消 提交回答
  • 前端问答小助手

    每次调用延迟执行,下次执行时需要把上次的先关掉,删除前一个 如果在固定的时间段内反复触发,只有最后一次生效

    window.onscroll=function(){
        console.log("函数抖动了");
    }
    //
    function debounce(callback,delay){
        var t=null;//用于关闭定时器时使用
        return function(){
            clearTimeout(t)//关闭前一次的定时器
            t=setTimeout(callback,delay);
        }
    }
    //debounce从头到尾只执行了一次
    window.onscroll=debounce(function(){
        console.log("函数抖动了");
    },500)
    

    实例:在百度搜索时,当你输入特别快时,用防抖只需最后搜索一次即可

    2019-12-19 07:41:19
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载