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

廊坊网站建设模板wordpress 更改头像

廊坊网站建设模板,wordpress 更改头像,微网站平台微网站建设方案,网络营销推广方法有哪几种防抖和节流的实现 什么是防抖和节流实现防抖和节流防抖节流 防抖和节流的应用场景 什么是防抖和节流 防抖和节流是前端开发中常用的两种性能优化技术。 为什么需要防抖和节流呢#xff1f; 两者目的都是为了防止某个时间段内操作频繁触发#xff0c;造成性能消耗。 防抖 两者目的都是为了防止某个时间段内操作频繁触发造成性能消耗。 防抖在事件被触发 n 秒后再执行回调如果在这 n 秒内事件又被触发则重新计时。 节流 n 秒内只执行一次事件即使n 秒内事件重复触发也只有一次生效。 可能很多人看了概念还是不太清楚这两者到底有什么区别下面就通过一个简单的案例来说明。 let btn document.getElementById(btn) //模拟发送请求 function req(){console.log(发送请求) } btn.addEventListener(click, req)以上代码简单实现了一个点击按钮的事件每点击一次按钮就调用一次函数发送请求效果如下 如果对函数做了防抖时间设为1秒效果是下面这样的 1秒内不管点击了多少次按钮事件都不会被触发只有当不再点击按钮后过了1秒事件才被触发。 如果对函数做了节流时间设为1秒效果是下面这样的 1秒内不管点击了多少次按钮事件都只被触发一次。 因此两者的区别防抖是一段时间内只执行最后一次节流是一段时间内只执行一次。 如下图所示 实现防抖和节流 防抖 实现思路使用闭包来保存定时器变量 timer。事件触发后开启一个定时器如果在 delay 时间内再次触发事件就会清除之前的定时器 并设置一个新的定时器直到 delay 时间内不再触发事件定时器到达时间后执行传入的函数 fn。 function debounce(fn, delay 1000) {let timer null;// 这里返回的函数是每次用户实际调用的防抖函数return function(...args) { // 如果已经设定过定时器了就清空上一次的定时器if(timer) {clearTimeout(timer); }// 开始一个新的定时器延迟执行用户传入的方法timer setTimeout(() { //这里必须是箭头函数不然this指向window,要让this指向fn的调用者fn.apply(this, args); }, delay) } }节流 实现思路同样使用闭包来保存定时器变量 timer。每次触发事件时如果定时器不存在就设置一个定时器并在 delay 时间后执行传 入的函数 fn。如果在 delay 时间内再次触发事件由于定时器还存在就不会执行传入的函数 func。 function throttle(fn, delay 500) {let timer null;return function(...args) {// 当前有任务了直接返回if(timer) {return;}timer setTimeout(() {fn.apply(this, args);timer null; //执行完后需重置定时器不然timer一直有值无法开启下一个定时器}, delay)} }节流还有一种更简单的时间戳版本思路就是两次触发的时间间隔到了指定时间就执行否则不执行。 function throttle(fn, delay 1000) {let prev Date.now();// 上一次执行该函数的时间return function(...args) {let now Date.now();//当前时间// 如果差值大于等于设置的等待时间就执行函数if (now - prev delay) {fn.apply(this, args);prev Date.now();}}; }防抖和节流的应用场景 防抖的主要应用场景是优化搜索框的输入用户在不断输入值时用防抖来节约请求资源当用户最后一次输入完再发送请求。 // 使用防抖优化搜索框输入 const searchInput document.getElementById(input); function req() {// 发送请求获取搜索结果console.log(发送请求...); } searchInput.addEventListener(keyup, debounce(req, 500));节流的主要应用场景是优化滚动事件当用户滚动页面时会频繁触发滚动事件。使用节流函数可以控制滚动事件的触发频率避免过多的计算和渲染操作提高页面的性能和流畅度。 // 使用节流优化滚动事件 window.addEventListener(scroll, throttle(function() {// 滚动到底部加载更多console.log(加载更多...); }, 500));以上就是本文的分享了如有错误欢迎指正
http://www.w-s-a.com/news/128682/

相关文章:

  • 网站开发属于软件开发类吗wordpress邮件失败
  • 凡科网站怎么设计win8网站模板
  • 深圳整站seo个人网站建设一般流程
  • 济南网站中企动力wordpress主题ripro
  • 淮北网站建设求职简历怎么做点击图片进网站
  • 自适应网站推广注册公司流程和费用公司注册
  • 电子商务网站建设预算表网站建设卩金手指科杰
  • 广西响应式网站哪家好产品网络推广怎样做
  • 移动网可以上的网站是什么样子的淘宝优惠券网站开发
  • wordpress php设置伊宁seo网站建设
  • 兰陵住房建设局网站wordpress中文标题
  • 福州搜索优化网站个人网页网站制作模板
  • 网站开发分哪几个步骤使用wordpress开发一个页面跳转
  • 网站制作后还能更改么wordpress 近期文章 代码
  • 做一个小网站需要多少钱wordpress集成paypal
  • 加强网站建设管理 及时更新自己设计装修的app
  • 集团网站设计案例网页制作网站开发
  • 怎么优化网站的单个关键词排名惠州品牌网站建设
  • 上海跨境电商网站制作wordpress弃用react
  • phpcms网站模版下载电商网站建设属于研发费用吗
  • 动画毕业设计代做网站高校门户网站建设需要多少钱
  • 网站内链设置wordpress前台特别慢
  • 杭州模板网站建设系统江苏省建设考试网站准考证打印
  • 国家建设执业资格注册中心网站企业手机网站建设机构
  • 内容管理系统做网站怎么做英文版的网站
  • 浙江省专业网站制作网站建设网站设计及内容策划
  • 浙江门户网站建设公司做网站上哪买空间
  • 郑州网站怎么推广贵阳市网站建设
  • 规范网站建设福州外贸网站建设推广
  • 平台电商网站开发传媒公司排行