<!DOCTYPE html>
<htmlhead>
meta charset="utf-8"title>节流器试用——huansky</bodydiv id="ttt">
p ="t1">我只有在鼠标放置两秒后才改变背景色,移出超过两秒才恢复p>
br="t2">我是正常的,只要鼠标移进来就改变背景色,移出就恢复="t3"divscript>
/** 节流器
* @param isclear 获取传入的第一个参数
* @param fn 第二个参数,表示函数
**/
var throttle=function () {
iscleararguments[0],fn;
if (typeof==="boolean){
fn1];
//函数的计时句柄存在,就清除函数
fn._throttleID && clearTimeout(fn._throttleID);
(fn._throttleI){
console.log(fn._throttleID);
}
}
else{
fnisclear;
param p{
context:null,args:[],time:800清除执行句柄函数
arguments.callee(true为函数绑定计时器的句柄,延迟执行函数
fn._throttleIDsetTimeout((){
console.log(fn._throttleID);
fn.apply(p.context,p.args);
},p.time)
}
}
domdocument.getElementsByTagName(p);
Entefn1(){ dom[].style.cssTextbackground-color:yellow;};
Entefn2background-color:blue Entefn32background-color:red Entefn11background-color:#fff Entefn22 Entefn33;};
dom[].addEventListener(mouSEOver(){
throttle(false);
dom[mouSEOut(){
throttle(Entefn11);
throttle((){
throttle(Entefn33);
throttle();
>