小编给大家分享一下如何实现javascript函数节流,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联公司是一家专业提供河东企业网站建设,专注与成都网站建设、成都做网站、H5页面制作、小程序制作等业务。10年已为河东众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
1、用时间戳判断是否已到回调执行时间,记录上次执行时间戳,然后每次触发事件时执行回调,回调判断当前时间戳距离上次执行时间戳的时间间隔是否为*s,如果是,则执行,并更新上次执行时间戳,如此循环。
var throttle = function(delay, action) { var last = 0; return function() { var curr = new Date(); if (curr - last > delay) { action.apply(this, arguments); last = curr; } } }
2、使用定时器,比如,当scroll事件刚触发时,打印一个hello world ,然后设置一个1000ms的定时器,此后每次触发scroll事件,触发回调,如果已经存在定时器,则回调不执行方法,知道定时器出发,handler被清除,然后重新设置定时器。
var throttle = function(delay, action) { var timeout; var later = function () { timeout = setTimeout(function(){ clearTimeout(timeout); // 解除引用 timeout = null; }, delay); }; later(); if (!timeout) { action.apply(this, arguments); later(); } }
看完了这篇文章,相信你对“如何实现javascript函数节流”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!