时间:2021-05-26
函数防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。举个栗子,持续触发scroll事件时,并不执行handle函数,当1000毫秒内没有触发scroll事件时,才会延时触发scroll事件。
函数节流(throttle):当持续触发事件时,保证一定时间段内只调用一次事件处理函数。节流通俗解释就比如我们水龙头放水,阀门一打开,水哗哗的往下流,秉着勤俭节约的优良传统美德,我们要把水龙头关小点,最好是如我们心意按照一定规律在某个时间间隔内一滴一滴的往下滴。举个栗子,持续触发scroll事件时,并不立即执行handle函数,每隔1000毫秒才会执行一次handle函数。
防抖实例:
<script>const delay = (function () { let timer = 0 return function (callback, ms) { clearTimeout(timer) timer = setTimeout(callback, ms) }})()export default {methods:{fn() { delay(() => { //执行部分 }, 500)}}}</script>节流实例:
var throttle = function(func, delay) { var timer = null; return function() { var context = this; var args = arguments; if (!timer) { timer = setTimeout(function() { func.apply(context, args); timer = null; }, delay); } } } function handle() { console.log(Math.random()); } window.addEventListener('scroll', throttle(handle, 1000));以上这篇Vue最新防抖方案(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
两种方案侵入式防抖处理(NoShakeClickListener)implementsView.OnClickListener无侵入式防抖处理(NoShakeC
函数防抖定义:多次触发事件后,事件处理函数只执行一次,并且是在触发操作结束时执行。在vue中对click添加防抖处理conston=Vue.prototype.
Vue中util的工具函数,下面通过实例代码给大家介绍的非常详细,具体代码如下所示://防抖函数functiondebounce(fn,wait){lettre
大家都知道,无论是摄影小白还是专业摄影师,手机相机是否支持视频防抖都非常重要。在各种复杂的拍摄条件下,防抖对视频拍摄的质量有着很大关联。最新发布的vivoX50
初级1、先写好防抖函数/***@desc防抖函数*@param{需要防抖的函数}func*@param{延迟时间}wait*@param{是否立即执行}imme