资讯专栏INFORMATION COLUMN

防抖动处理和节流 小技巧

tinysun1234 / 658人阅读

摘要:简单的防抖动处理,一秒内点击一次向服务器请求数据点击按钮向后台请求数据优化点另外一些防抖动的小技巧,请参考封装好的简单防抖动函数防抖动函数要执行的函数,间隔毫秒数调用现成的工具库防抖动节流

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

</>复制代码

  1. var timer = null;
  2. $(".coupon").click(function(){
  3. if (timer) {
  4. return;
  5. }
  6. timer = true;
  7. setTimeout(function() {
  8. timer = false;
  9. }, 1000);
  10. ...
  11. })
2. 向服务器请求数据

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

</>复制代码

  1. var running = false;
  2. $(".btn").on("click", function() {
  3. if (running) {
  4. return;
  5. }
  6. running = true;
  7. $.ajax(url, {
  8. complete: () => {
  9. running = false;
  10. }
  11. })
  12. });

另外一些防抖动的小技巧,请参考:
http://blog.csdn.net/crystal6...;
https://jinlong.github.io/201...

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

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

</>复制代码

  1. function debounce(fn, timeout) {
  2. let last = null;
  3. return function() {
  4. if (last) {
  5. return last.result;
  6. }
  7. setTimeout(() => { last = null; }, timeout || 1000);
  8. const result = fn.apply(this, arguments);
  9. last = { result };
  10. return result;
  11. };
  12. }
  13. //调用
  14. btn.addEventListener("click", debounce(function() {
  15. ...
  16. }, 1000));
4. 现成的工具库Loadash

http://www.css88.com/doc/loda...
防抖动:
_.debounce

节流:
_.throttle

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/52519.html

相关文章

  • 抖动处理节流 技巧

    摘要:简单的防抖动处理,一秒内点击一次向服务器请求数据点击按钮向后台请求数据优化点另外一些防抖动的小技巧,请参考封装好的简单防抖动函数防抖动函数要执行的函数,间隔毫秒数调用现成的工具库防抖动节流 1. 简单的防抖动处理,一秒内点击一次 var timer = null; $(.coupon).click(function(){ if (timer) { return; } ...

    lscho 评论0 收藏0
  • 抖动节流

    摘要:防抖动节流节流使得一定时间内只触发一次函数。它和防抖动最大的区别就是,节流函数不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数,而防抖动只是在最后一次事件后才触发一次函数。 防抖动与节流 针对一些会频繁触发的事件如scroll、resize,如果正常绑定事件处理函数的话,有可能在很短的时间内多次连续触发事件,十分影响性能。所以我们对于这种事件我们要进行防抖动或...

    Yangyang 评论0 收藏0
  • 抖动节流

    摘要:它和防抖动最大的区别就是,节流函数不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数。 防抖动 其核心内涵在于延迟处理,也就是将一系列的事件处理程序全部延迟,保障推送进来的第一次事件处理 var debounce  = function(fn,delay,mustRunDelay){ var timer = null; var t_start; ...

    alexnevsky 评论0 收藏0
  • 节流抖动

    摘要:起因面试被问到了节流和防抖动自己对这两个的概念比较模糊都不知道回答了什么鬼从语文和英语学起首先先看字面意思节流的意思就是水龙头关小点频率不要那么高防抖动这根弹簧你不要来回蹦了我就要你最后停下来的没有发生形变的那一刻举个例子节流在改变窗口大小 起因 面试被问到了节流和防抖动, 自己对这两个的概念比较模糊, 都不知道回答了什么鬼 从语文和英语学起 首先, 先看字面意思:节流(throttl...

    hellowoody 评论0 收藏0

发表评论

0条评论

tinysun1234

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<