分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

js 防抖函数

发布时间:2023-09-06 01:30责任编辑:白小东关键词:js

第三个参数为是否取消延时

 ???function debounce (func, wait, immediate) { ?????var timeout, result; ?????var debounced = ?function () { ???????var context = this ?// 找回this ???????var arg = arguments // 找回event对象 ???????if (timeout) clearTimeout(timeout); ???????if (immediate) { ?????????var callNow = !timeout; ?????????timeout = setTimeout(function () { ???????????timeout = false; ?????????}, wait) ?????????if (callNow) result = func.apply(context, arg); ???????} else { ???????????timeout = setTimeout(function () { ???????????result = func.apply(context, arg) ?????????}, wait) ???????} ???????return result // 如果函数有返回值 ?????} ?????// 第三个参数设置为true,在等待的时候 ?????// 我希望立即执行 ?????// 暴露出去 ?????debounced.cancel = function () { ???????clearTimeout(timeout) ???????timeout = false ?????} ?????return debounced ???}

js 防抖函数

原文地址:http://www.cnblogs.com/hmx99/p/8045102.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved