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

国内比较知名的大型门户网站北海网站建设服务商

国内比较知名的大型门户网站,北海网站建设服务商,企业官网型网站模板,电龙网站建设一、认识防抖debounce函数 我们用一副图来理解一下它的过程#xff1a; 当事件触发时#xff0c;相应的函数并不会立即触发#xff0c;而是会等待一定的时间#xff1b;当事件密集触发时#xff0c;函数的触发会被频繁的推迟#xff1b;只有等待了一段时间也没有事件触…一、认识防抖debounce函数 我们用一副图来理解一下它的过程 当事件触发时相应的函数并不会立即触发而是会等待一定的时间当事件密集触发时函数的触发会被频繁的推迟只有等待了一段时间也没有事件触发才会真正的执行响应函数 防抖的应用场景很多输入框中频繁的输入内容搜索或者提交信息频繁的点击按钮触发某个事件监听浏览器滚动事件完成某些特定操作用户缩放浏览器的resize事件 总结防抖其实是延迟函数的执行只有当等待了一段时间也没有事件触发时才会真正去执行函数 1.2 防抖函数的案例 二、手写防抖函数 我们按照如下思路来实现 防抖基本功能实现可以实现防抖效果 优化一优化参数和this指向 优化三优化立即执行效果第一次立即执行 优化二优化取消操作增加取消功能 优化四优化返回值 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodyinput typetextbutton idcancel取消/buttonscript srchttps://cdn.jsdelivr.net/npm/underscore1.13.1/underscore-umd-min.js/script!-- script src./01_debounce-v1-基本实现.js/script --!-- script src./03_debounce-v3-立即执行.js/script --!-- script src./04_debounce-v4-取消功能.js/script --script src./05_debounce-v5-函数返回值.js/scriptscriptconst inputEl document.querySelector(input)let counter 0const inputChange function(event) {console.log(发送了第${counter}次网络请求, this, event)// 返回值return aaaaaaaaaaaa}// 防抖处理// inputEl.oninput _.debounce(inputChange, 2000)const debounceChange debounce(inputChange, 3000, false, (res) {console.log(拿到真正执行函数的返回值:, res)})const tempCallback (event) {debounceChange(event).then(res {console.log(Promise的返回值结果:, res)})}inputEl.oninput tempCallback// 取消功能const cancelBtn document.querySelector(#cancel)cancelBtn.onclick function() {debounceChange.cancel()}/script /body /html 二、认识节流throttle函数 我们用一副图来理解一下节流的过程 当事件触发时会执行这个事件的响应函数如果这个事件会被频繁触发那么节流函数会按照一定的频率来执行函数不管在这个中间有多少次触发这个事件执行函数的频繁总是固定的 总结节流函数是以固定的频率去触发需要执行的函数 2.2 节流的应用场景 监听页面的滚动事件鼠标移动事件用户频繁点击按钮操作游戏中的一些设计 2.3 节流函数的应用场景 三、手写节流函数 我们按照如下思路来实现 节流函数的基本实现可以实现节流效果 优化一控制节流第一次是否执行函数 优化二控制节流最后一次是否执行函数 优化三优化this参数 优化四优化添加取消功能 优化五优化返回值问题 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodyinput typetextbutton idcancel取消/buttonscript srchttps://cdn.jsdelivr.net/npm/underscore1.13.1/underscore-umd-min.js/script!-- script src./06_throttle-v1-基本实现.js/script --!-- script src./07_throttle-v1-leading实现.js/script --!-- script src./08_throttle-v3-traling实现.js/script --!-- script src./09_throttle-v4-this-参数.js/script --!-- script src./10_throttle-v4-取消功能.js/script --script src./11_throttle-v6-函数返回值.js/scriptscriptconst inputEl document.querySelector(input)let counter 0const inputChange function(event) {console.log(发送了第${counter}次网络请求, this, event)return 11111111111}// 节流处理// inputEl.oninput _.throttle(inputChange, 2000)const _throttle throttle(inputChange, 3000, { leading: false, trailing: true,resultCallback: function(res) {console.log(resultCallback:, res)}})const tempCallback (...args) {_throttle.apply(inputEl, args).then(res {console.log(Promise:, res)})}inputEl.oninput tempCallback// 取消功能const cancelBtn document.querySelector(#cancel)cancelBtn.onclick function() {_throttle.cancel()}/script/body /html
http://www.zqtcl.cn/news/358460/

相关文章:

  • 无锡seo公司网站广渠门做网站的公司
  • 安徽股票配资网站建设seo教程自学网
  • 网站建设酷隆做3d建模贴图找哪个网站
  • 天津市工程建设交易管理中心网站自己如何搭建服务器
  • 汉语网站建设心得专业网站的定义
  • 泉州台商区建设局网站论坛内网站怎么建设
  • 做文字云的网站平面设计发展前景
  • 域名注册后怎么建网站万网建站教程
  • 郑州网站建设幸巴石家庄站规模
  • 江华网站建设企业传统的网络营销推广方法
  • 网站开发与推广新网站开发工作总结
  • 永修县建设局网站长沙网站关键词优化
  • 厦门建站服务低代码开发会废了程序员吗
  • 安阳汤阴县网站建设下载wix做的网站
  • 福清市建设局网站深圳工业设计协会封昌红
  • 网站建设公司做网站要多少费用重庆找工作哪个网站好
  • 苏州网站建设方法cnzz网站排名是怎么做的
  • 烟台网站建设服务专业的企业智能建站制造厂家
  • 网站信息查询制作闹钟网站
  • 永久免费个人网站申请注册禁止 wordpress ajax
  • 建设网站江西一个简单的游戏网站建设
  • 织梦大气婚纱影楼网站源码优化大师电脑版
  • 衡水企业网站制作报价怎么通过局域网建设网站
  • 服装网站建设课程知道ip怎么查域名
  • 上海政务网站建设上行10m企业光纤做网站
  • 杭州做公司网站aso搜索优化
  • 南京越城建设集团网站网站空间续费多少钱
  • 深圳nft网站开发公司如何制作微信公众号里的小程序
  • 做网站美工要学什么聊城网站建设电话
  • 南通个人网站建设快手秒刷自助网站