首页 > 其他分享 >js 防抖

js 防抖

时间:2023-02-11 18:35:48浏览次数:40  
标签:防抖 console log args js timeout var container

// 防抖 作用:防止重复触发事件
var count = 1; var container = document.getElementById('container');
function getUserAction(e) {     // console.log(this)     // console.log(e);     container.innerHTML = count++; }
// container.onmouseover = getUserAction /**  *  * @param {*} func 回调方法  * @param {*} wait 等待时长  * @param {*} immediate immediate 是否立即执行,触发事件的几秒内不能重复触发; false:等待wait时间后再触发函数,只执行一次  * @returns  */ function debounce(func, wait, immediate) {     var timeout;     console.log(arguments, 'arguments')     return function() {         var context = this;         var args = arguments;         console.log(args, 'args');         // 如果有timeout,那么清除timeout         if(timeout) clearTimeout(timeout);         if(immediate) {             // 如果immediate为true的时候,vallNow肯定是ture; 当 callNow 是true的时候也就是 timeout 为null             var callNow = !timeout             console.log(timeout)             timeout =  setTimeout(function() {                 timeout = null;             }, wait)             if(callNow) func.apply(context, args)         }else {             console.log(timeout, 'timeout')             timeout = setTimeout(() => {                 func.apply(context, args)             }, wait)         }     } }
container.onmousemove = debounce(getUserAction, 2000, true);

标签:防抖,console,log,args,js,timeout,var,container
From: https://www.cnblogs.com/tdcqcrtd/p/17112288.html

相关文章

  • JS改变input元素的value之后如何使v-model双向绑定的值也同步改变
    使用dispatchEvent:letel=document.querySelector('#input')el.value='newvalue'el.dispatchEvent(newEvent('input'))有的元素可能需要使用change事件:el.d......
  • 关于js类的继承
    原型链继承特点:基于原型链,既是父类的实例,也是子类的实例。缺点:无法实现多继承。构造继承特点:可以实现多继承。缺点:之能继承父类实例的属性和方法,不能继承原型上......
  • Libcurl & Log4cplus 移植和使用 以及 Jsoncpp 简单使用
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 763~765 JSP指令,概述,page指令
    Jsp:他是一个特殊的页面不仅可以写java代码也可以写HTML1.指令作用用于配置Jsp页面,导入资源文件格式:多个属性值中间空格隔开<%@指令......
  • JSTL常用标签
    常用的JSTL标签1.if:相当于java代码的if语句1.属性:test必须属性接收boolean表达式日光表达式true则显示if标签体内容如果为fa......
  • JSTL练习和三层架构
    JSTL练习需求:在request域中有一个存有User对象的List集合。需要使用jstl+el将list集合数据展示到jsp页面的表格table中<%@taglibprefix="c"uri="http://java.sun.com......
  • EL隐式对象 JSTL
    el表达式中有11个隐式对象pageContext:获取jsp其他八个内置对象${pageContext.request.contextPath}:动态获取虚拟目录 JSTL1:概念:JavaServ......
  • 『 再看.NET7』让json序列化体现多态
    从System.Text.Json诞生,就在努力增加功能和提升性能,在.NET7中,又带来了多态的适配。下面是一个父类Customer,两个子类,WechatCustomer和LineCustomer。publicclas......
  • 『 再看.NET7』让json序列化体现多态
    从System.Text.Json诞生,就在努力增加功能和提升性能,在.NET7中,又带来了多态的适配。下面是一个父类Customer,两个子类,WechatCustomer和LineCustomer。publicclas......
  • 前端知识学习案例2-开发企业网站2-准备js库 图片等
    animejs库控制动画得库 glide.js isotope scrollReveal smooth-scroll......