// 在规定时间delay内,触发了一次事件就不会触发事件了,只有过了delay时间才可以从新触发事件。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>节流</title> </head> <body> <div> <button id="btn">节流</button> </div> <script> function th(func,delay){ let time; //形成闭包,返回一个函数 return function () { //如果为真 if(!time){ //time有值了,再点击就不会触发点击事件。 time = setTimeout(()=>{ func() //定义为false,两秒后就可以继续点击。 time = false; },delay) } } } //回调函数 function handle(){ //随机生成一个小数 console.log(Math.random()) } document.getElementById('btn').onclick = th(handle,2000) </script> </body> </html>
节流函数(JS)
于 2021-10-13 23:45:42 首次发布