函数节流和函数防抖

2019-05-01  本文已影响0人  前端咸蛋黄

例如:输入框输入文字如下:1111111111111111111111...

以下是实现的代码,我忘了引用谁的了……

函数节流
<input>
<script>
  let text = document.querySelector("input")
  function throttle(fn, interval = 1000) {
    let canRun = true;
    return function () {
        if (!canRun) return;
        canRun = false;
        setTimeout(() => {fn();canRun = true;}, interval);
    };
  }
  text.oninput = throttle(()=>{console.log(text.value)})
</script>
函数防抖
<input>
<script>
  let text = document.querySelector("input")
  function debounce(fn, interval = 1000) {
    let timeout = null;
    return function () {
        clearTimeout(timeout);
        timeout = setTimeout(() => {fn()}, interval);
    };
  }
  text.oninput = debounce(()=>{console.log(text.value)})
</script>
上一篇 下一篇

猜你喜欢

热点阅读