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

住房和城乡建设部政务服务门户网站seo视频教程汇总

住房和城乡建设部政务服务门户网站,seo视频教程汇总,python nginx做网站,做网站学好哪些软件前端防抖和节流 概述 防抖: 防止抖动,个人字面理解此处防的不是页面的抖动,而是用户手抖。为了防止用户快速且频繁的触发事件而导致多次执行事件函数,这样的场景有很多,比如监听滚动、鼠标移动事件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.shuangfujiaoyu.com/news/50336.html

相关文章:

  • 生鲜做的好的网站网络营销策划与创意
  • 手机网站开发 pdf西安网络推广seo0515
  • 咨询公司企业文化网站seo内容优化
  • IIS自己做的网站 无法访问数据库百度云网盘入口
  • 榆次建设局网站优化网站页面
  • wordpress 屏蔽谷歌长沙官网seo收费标准
  • 光电网站设计最新腾讯新闻
  • 萝岗定制型网站建设全国网站排名
  • 如何设计网站banner线下推广的渠道和方法
  • 做照片用的视频模板下载网站好app推广拉新渠道
  • 淘客推广网站怎么做的今天疫情最新消息
  • 苏州企业网站建设定制线上推广的好处
  • 个旧网站建设长沙seo网络推广
  • 网站首页地址是什么黑龙江新闻
  • 微信网站建设报价单 seo won
  • 网站快速收录方法站长统计app官方网站
  • 手机做网站时时彩赌博seo平台
  • 高性能网站开发网络营销与直播电商学什么
  • 凡科做的网站行不行网站查询器
  • 在线网站制作潍坊seo招聘
  • 网站做互动友情链接交换的方法
  • 网站前端开发网络推广服务合同
  • 做网站切片什么平台可以打广告做宣传
  • 辽icp备鞍山公司中企动力提供网站建设自己做网站需要什么条件
  • 国外设计网站排名谷歌seo是什么
  • 云教育科技网站建设2020最近的新闻大事10条
  • 上海实时新闻seo关键词推广
  • 校园二手用品网站建设的项目章程2345导航网址
  • 企业网站建设参考文献怎么制作网页里面的内容
  • 网站管理助手 ftpseo推广和百度推广的区别