JS函数防抖和函数节流

/**
 * JS函数防抖:
 * 一些dom操作例如mousemove、scroll等会频繁发生,绑定在这些事件的函数会不断被触发,
 * 会频繁操作dom,开销很大
 * 
 * 节流方法:最后一次操作才执行,即后面没有再操作了
 * 
 * 第一次触发,新建一个计时器
 * 每次触发函数都清除掉上一个计时器,新建一个计时器
 * 剩最后一个计时器,如果倒计300ms还没有触发则执行最后创建的这个延时函数
 */
var timer = null;
window.onresize = function () {
    if (timer) {
        clearTimeout(timer);
    }
    timer = setTimeout(function () {
        resizehandler();
    }, 300);
}
/**
 * 函数节流
 * 相当于按照一个频率执行,例如每500ms一次
 * 
 * 第一次触发函数的时候记下时间
 * 之后每次触发都检查一下离初始时间多久,到了delay时间就执行函数,让后吧pre时间改成
 * 当前触发时间
 * 
 * 另一种方法和防抖一样
 */
var throttle = function (func, delay) {
    var prev = Date.now();
    return function () {
        var context = this;
        var args = arguments;
        var now = Date.now();
        if (now - prev >= delay) {
            func.apply(context, args);
            prev = Date.now();
        }
    }
}
function handle() {
    console.log("函数节流");
}
//addEventListenenr后面是传入一个函数
window.addEventListener('mousemove', throttle(handle, 1000));

 

代码下载地址: https://pan.quark.cn/s/35e46f7e83fb 关于 Build Status Lines of code 这是一个参考 PotPlayer 的界面使用 Java 以及图形界面框架 JavaFX 使用 MCV 图形界面与业务逻辑分离的开发模式, 所开发的个人视频播放器项目, 开发这个项目旨在于学习图形界面框架 JavaFX 实现了具有 PotPlayer相同 的简洁界面流畅的操作逻辑。 Note: PotPlayer 是 KMPlayer 的原制作者姜龙喜先生(韩国)进入 Daum 公司后的 新一代网络播放器, PotPlayer的优势在于强大的内置解码器以及支持各类的 视频格式, 而且是免费下载提供使用的。 目前版本: 2020/10/28 v1.0.0 [x] 支持打开文件自动播放 [x] 支持查看播放记录 [x] 支持屏幕边沿窗口自动吸附 [x] 支持双击视频来播放暂停 [x] 支持左键点击窗口任意位置来拖到窗口 [x] 支持左键双击播放窗口打开文件 [x] 支持根据视频尺寸自动调整窗口大小 [x] 支持根据播放文件类型调整窗口模式 [x] 支持根据视频尺寸自动调整窗口显示位置防止超出屏幕 [x] 支持记录上一次访问的文件路径 [x] 支持播放记录文件读写 已实现样式 未播放效果: 播放效果: 运行环境 本项目使用 NetBeans 配合 JDK 开发, NetBeans8.0 以及 JDK8.0 以上版本的均可以运行。 亦可使用其他集成开发环境, 例如 Eclipse, IntelliJ IDEA 配合使用 JDK8.0 以上版本均可构建此项目。 NetBeans download Eclipse downlo...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值