• vue中使用防抖函数


    工具类

    /**
     * 防抖
     * @param {Function} func 要执行的回调函数 
     * @param {Number} wait 延时的时间
     * @param {Boolean} immediate 是否立即执行 
     * @return null  
     */
    let timeout: any;
    export default {
        debounce(func: any, wait = 300, immediate = false) {
            // 清除定时器
            if (timeout !== null) clearTimeout(timeout);
            // 立即执行,此类情况一般用不到
            if (immediate) {
                var callNow = !timeout;
                timeout = setTimeout(function () {
                    timeout = null;
                }, wait);
                if (callNow) typeof func === 'function' && func();
            } else {
                // 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时wait毫秒后执行func回调方法
                timeout = setTimeout(function () {
                    typeof func === 'function' && func();
                }, wait);
            }
        }
    }

    vue中使用

    import tool from "@/utils/tool";
    
    const clkBtn = () => {
          let fn = async () => {
              console.log(1)
          };
          tool.debounce(fn, 2000, true);
        };
  • 相关阅读:
    获取声音设备名称及PNPDeviceID
    定时音乐播放
    获取多媒体详细信息列表
    产品滚动展示
    制作电影特效效果
    十字光标定位
    获取指定点的RGB值
    绘画小游戏
    倒影效果文字
    浮雕效果显示图像
  • 原文地址:https://www.cnblogs.com/magicg/p/15772339.html
Copyright © 2020-2023  润新知