2.1.2 throttle
说明: 在某个规定的时间内只执行一次任务
使用及参数说明:
xui.throttle(fn, await, leading);
fn
表示需要进行节流的函数await
表示规定的时间, 默认为300msleading
表示是否首先触发, 默认为触发, 设置为false后, 进入不触发, 等待await
后触发, 离开后await
触发- 没有你想要的功能? 快联系我:
xumeng0611@gmail.com
添加吧
1.这里没有使用节流函数, 可以看到鼠标移动的越快, 计数跑的越快, 这个时候看上去没有问题, 但是当我们在函数里进行了一些复杂操作, 比如异步调用等, 此时浏览器肯定会变卡
var eg = document.getElementById('throttle'),
NUM = 0;
eg.addEventListener('mousemove', function(){
NUM++;
eg.innerHTML = 'move ' + NUM + ' times';
});
2.这个时候节流函数就派上用场了, 此时延时为500ms, 意思是不管你移动的多块,500ms内我就是只执行一次
var tar = document.getElementById('throttle1'),
NUM1 = 0;
tar.addEventListener('mousemove',
xui.throttle(function(e){
NUM1++;
e.target.innerHTML = 'move ' + NUM1 + ' times';
}, 500),
false);
3.这个时候节流函数就派上用场了, 此时延时为500ms, 意思是不管你移动的多块,500ms内我就是只执行一次
var tar2 = document.getElementById('throttle2'),
NUM2 = 0;
tar2.addEventListener('mousemove',
xui.throttle(function(e){
NUM2++;
e.target.innerHTML = 'move ' + NUM2 + ' times';
}, 500, true),
false);