js ---- 函数防抖

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <input type="" name="">
</body>
<script type="text/javascript">
// 当我们不想 input 每次都触发。 而是 当判断input 在最后一次 的时候在触发; var inp = document.getElementsByTagName('input')[0]; inp.addEventListener('input',inp1(500)); function inp1(delay){ var time = null; return function b(){ var that = this; clearTimeout(time); time = setTimeout(function(){ console.log(112233); },delay) } }

 1.函数防抖的要点,也是需要一个setTimeout来辅助实现。延迟执行需要跑的代码。
 2.如果方法多次触发,则把上次记录的延迟执行代码用clearTimeout清掉,重新开始。
 3.如果计时完毕,没有方法进来访问触发,则执行代码

posted @ 2018-09-06 16:06  蔚京霖  阅读(228)  评论(0编辑  收藏  举报