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

seo优化软件免费版关键词整站优化公司

seo优化软件免费版,关键词整站优化公司,公众号制作公司,wordpress后台挂了前端防抖和节流 概述 防抖: 防止抖动,个人字面理解此处防的不是页面的抖动,而是用户手抖。为了防止用户快速且频繁的触发事件而导致多次执行事件函数,这样的场景有很多,比如监听滚动、鼠标移动事件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.yayakq.cn/news/963640/

相关文章:

  • 招商网站怎样让百度搜不到自己的网站
  • 一个简单的游戏网站建设wordpress 建视频网站吗
  • 重庆网站建设cqhtwl大型门户网站建设功能
  • 网站降权恢复搞好姓氏源流网站建设
  • 广告网站制作报价营销型网站建设的优势有哪些
  • 自己网站页面设计软件查询网站有哪些导入链接及数量
  • 建好的网站在哪里织梦网站如何生成伪静态
  • 如何建立官方网站中山门户网站建设
  • 怎么样制作一个公司网站网站指向ip列表是什么
  • 微趋道官网手机小程序制作站内优化
  • 行业网站深圳市南山区做网站的小公司
  • 单页网站 开元邯郸做网站推广的公司
  • 未来软件网站建设营销型网站建设 上海
  • wordpress 点点模版南安seo教程
  • 网站静态页面下载工具企业网站seo贵不贵
  • 网上购物网站模板网站建设使页面内容居中
  • 保定市做网站的电话做 爱 网站视频教程
  • 关于开展网站建设工作的通知哪个网站可兼职做logo
  • 门户网站开发费用wordpress 文章列表只显示标题
  • 网站建设 南京给公司做门户网站
  • 个人网站主页html5邯郸网站建设做公司
  • 网站建设哪家好 需要多少钱天津做网站的公司排行
  • 研磨 东莞网站建设做盗版音乐网站
  • 班级网站建设的参考文献建设网站赚的是什么钱
  • 永康物流网站wordpress主题移植
  • 厦门建设服务管理中心网站网络营销推广方法总结
  • 网站的建设与规划国际网站制作
  • ps模板网站推荐app代理推广合作
  • 河北美丽乡村建设网站seo关键词是什么
  • 帝国网站如何做中英文切换网站中有哪些标签需要优化