博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
防抖动处理和节流 小技巧
阅读量:6457 次
发布时间:2019-06-23

本文共 816 字,大约阅读时间需要 2 分钟。

1. 简单的防抖动处理,一秒内点击一次

var timer = null;$('.coupon').click(function(){  if (timer) {    return;  }  timer = true;  setTimeout(function() {    timer = false;  }, 1000);...})

2. 向服务器请求数据

点击按钮向后台请求数据 优化点:

var running = false;$('.btn').on('click', function() {  if (running) {    return;  }  running = true;  $.ajax(url, {    complete: () => {      running = false;    }  })});

另外一些防抖动的小技巧,请参考:

3. 封装好的简单防抖动函数

// 防抖动函数 fn要执行的函数,timeout间隔毫秒数

function debounce(fn, timeout) {  let last = null;  return function() {    if (last) {      return last.result;    }    setTimeout(() => { last = null; }, timeout || 1000);    const result = fn.apply(this, arguments);    last = { result };    return result;  };}//调用btn.addEventListener('click', debounce(function() {  ...}, 1000));

4. 现成的工具库Loadash

防抖动:
_.debounce

节流:

_.throttle

转载地址:http://dvizo.baihongyu.com/

你可能感兴趣的文章
第三篇:白话tornado源码之请求来了
查看>>
表示数值的字符串
查看>>
JQUERY AJAX请求
查看>>
超级账本Fabric区块链用弹珠游戏Marbles 部署
查看>>
控制圈复杂度的9种重构技术总结
查看>>
数据分析--数字找朋友
查看>>
18年selenium3+python3+unittest自动化测试教程(下)
查看>>
memcache数据库和redis数据库的区别(理论)
查看>>
我的友情链接
查看>>
MyBatis+Spring结合
查看>>
Office 365之SkyDrive Pro
查看>>
无缝滚动实现原理分析【公告栏】
查看>>
Java Web 高性能开发
查看>>
CentOS 4.4双网卡绑定,实现负载均衡
查看>>
Scala之柯里化和隐式转换
查看>>
获取androdmanifest里面的meta-data
查看>>
mysql拷贝表的几种方式
查看>>
用设计模式去掉没必要的状态变量 —— 状态模式
查看>>
健忘的正则
查看>>
[转]CMake快速入门教程:实战
查看>>