zoukankan      html  css  js  c++  java
  • 函数节流

    概述:限制一个函数再一定时间内只能执行一次;

    <script>
        var throttle = function(func, delay) {
          // 初始化定时器的id;
          var timer = null
          // 定义开关属性
          var key = true
          return function() {
            // 第一次立即调用
            if (key) {
              func()
              key = false
            } else if (!timer) {
              // 若上次的定时器执行完毕则立即调用,否则不调用;
              timer = setTimeout(function() {
                func()
                timer = null
              }, delay)
            }
          }
        }
    
        // 要进行处理的函数; 
        function handle() {
          console.log(Math.random())
        }
    
        window.addEventListener('mousemove', throttle(handle, 1000))
      </script>
    

    使用场景:

    1、懒加载、滚动加载、加载更多、监听滚动条位置;

    2、百度搜索框、搜索联想功能;

    3、防止高频点击提交、防止表单重复提交;

  • 相关阅读:
    旅行锦囊
    生活智慧
    育儿锦囊
    新婚置办
    软件开发心得
    64位sql server2005安装
    Struts学习心得
    Spring学习心得
    Oracle补习班第十天
    Python----文件操作
  • 原文地址:https://www.cnblogs.com/ywnh/p/12314964.html
Copyright © 2011-2022 走看看