当前位置: 首页 > news >正文

在线聊天网站怎么做百度云盘资源共享链接群组链接

在线聊天网站怎么做,百度云盘资源共享链接群组链接,wordpress wamp,网站目录链接怎么做的前端防抖和节流 概述 防抖: 防止抖动,个人字面理解此处防的不是页面的抖动,而是用户手抖。为了防止用户快速且频繁的触发事件而导致多次执行事件函数,这样的场景有很多,比如监听滚动、鼠标移动事件onmousemove、频繁…

前端防抖和节流

概述

防抖: 防止抖动,个人字面理解此处防的不是页面的抖动,而是用户手抖。为了防止用户快速且频繁的触发事件而导致多次执行事件函数,这样的场景有很多,比如监听滚动、鼠标移动事件onmousemove、频繁点击表单的提交按钮等等。
节流: 节约流量,为了节约流量,页面在一个时间周期内,只触发一次动作。所以节流的目的时稀释函数的执行频率。
防抖动和节流本质是不一样的。防抖动是多次触发但只会执行一次,节流是多次触发但周期内只会执行一次

防抖实现

<html><body><input type="button" id = "btn" value="提交" /><ul id="result"></ul><script>var resultText = ""const print = (text) => {let item = document.createElement('li')item.innerText = textdocument.getElementById("result").appendChild(item)}// 创建debounce防抖函数const debounce = (func, wait) => {let timeout = null;// 此时func的this指向是window// 如果func内部想修改this指向当前函数的调用者,就必须存储this,之后借助apply修改func的this指向。// 因此借助闭包缓存调用者的thislet context = null; let args = null;// 通过定时器延迟执行事件函数let run = () => {timeout = setTimeout(() => {// 通过 apply 修改func的this指向,并让func获取真正的事件函数(即防抖函数return出来的函数)的参数,之后执行funcfunc.apply(context, args);timeout = null}, wait);}// 清除定时器let clean = () => {clearTimeout(timeout);}return function () {context = this; // 谁调用函数(这里的函数是防抖函数return出来的函数),this就指向谁。args = arguments; // arguments 是一个对应于传递给函数的参数的类数组对象,可以获取函数的参数(这里的函数是防抖函数return出来的函数)。console.log(args)if (timeout) {print('重置定时器');clean();run();} else {print('开启新的定时器');run();}}}// 要执行的事件函数const handleSubmit = (e) => {print('提交表单', e);}const fn1 = debounce(handleSubmit, 1500)document.getElementById("btn").addEventListener("click", fn1)</script>
</body></html>

节流实现

<html><body><input type="button" id="btn" value="提交" /><ul id="result"></ul><script>var resultText = ""const print = (text) => {let item = document.createElement('li')item.innerText = textdocument.getElementById("result").appendChild(item)}const throttle = (func, wait) => {let timeout = null;return function () {let context = this;let args = arguments;if (!timeout) {timeout = setTimeout(() => {timeout = null;func.apply(context, args);}, wait)}}}// 要执行的事件函数const handleSubmit = (e) => {print('提交表单', e);}const fn1 = throttle(handleSubmit, 1500)document.getElementById("btn").addEventListener("click", fn1)</script>
</body></html>
http://www.dinnco.com/news/7256.html

相关文章:

  • 一个网站多少钱?网络整合营销
  • 干净简约高端的网站制定营销推广方案
  • 网页微信二维码登录怎么实现seo公司排行
  • 网站联系qq代码友情链接多少钱一个
  • 曲靖网站建设dodoco零基础怎么做电商
  • 商城网站项目策划书seo搜索优化网站推广排名
  • 开互联网公司网站是自己建吗推广app软件
  • 可以挣钱的网站广州网站推广软件
  • 呼家楼做网站的公司bt搜索引擎下载
  • 海宁市住房和城乡建设网站企业在线培训平台
  • wordpress 微信编辑器插件下载泉州seo培训
  • 网站 动态网络营销有哪些推广方式
  • 兰州做网站哪家专业杭州seo网站
  • 做外贸免费发布产品的网站域名停靠
  • 地税局网站怎么做变更能打开各种网站的搜索引擎
  • 网站建设人员职责分布在线一键建站系统
  • 沧县做网站价格百度指数名词解释
  • 网上做任务佣金高的网站网络营销形式
  • 网站目录结构图长沙关键词优化推荐
  • 合肥seo管理广州网站优化费用
  • 网站如何做中英文效果推广赚钱的软件
  • php网站开发的发展前景三只松鼠营销案例分析
  • 美仑-专门做服装的网站网站seo关键词优化
  • 装修公司做宣传在哪个网站b站新人视频怎么推广
  • 做网站用的插件磁力宝
  • 可以用什么做网站登录页面搜索引擎优化关键词
  • 设计一个官方网站推广广告优化方法
  • 课程网站建设目标任务合肥搜索引擎推广
  • 做数学网站一键免费创建论坛网站
  • 建站快车的优点315影视行业