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

沈阳做平板网站中国最大的中文网站

沈阳做平板网站,中国最大的中文网站,交易平台,游戏代理怎么找渠道1)requestAnimationFrame是什么? 1.MDN官方解释 2.解析这段话#xff1a; 1、那么浏览器重绘是指什么呢#xff1f; ——大多数电脑的显示器刷新频率是60Hz#xff0c;1000ms/6016.66666667ms的时间刷新一次 2、重绘之前调用指定的回调函数更新动画#xff1f; ——requ…1)requestAnimationFrame是什么? 1.MDN官方解释 2.解析这段话 1、那么浏览器重绘是指什么呢 ——大多数电脑的显示器刷新频率是60Hz1000ms/6016.66666667ms的时间刷新一次 2、重绘之前调用指定的回调函数更新动画 ——requestAnimationFrame 会把每一帧中的所有 DOM 操作集中起来在一次重绘或回流中 紧跟随浏览器的刷新频率 去完成操作。 2)基础用法 script setup let animationRef const goStart () {const cb () {// 写入DOM 操作会在每一次浏览器刷新之前执行❤requestAnimationFrame(cb)}// 开启动画animationRef requestAnimationFrame(cb) } const goEnd () {// 取消动画cancelAnimationFrame(animationRef) } /script3)requestAnimationFrame的优点 1.传统实现JS动画 通常情况下实现动画能使用css实现的就使用css不能的css实现的再使用JS实现。 我们实现JS动画会使用setTimeout和setInterval。 而setTimeout和setInterval的使用是存在问题的导致丢帧。 ①间隔时间不好确定前面也提到大多数电脑的显示器刷新频率是60Hz1000ms/60定时器的间隔时间设置过长或者过短都无法匹配上刷新频率推荐的最佳循环间隔17ms。 ②MDN指出定时器实际延长时间比设定值长一些。常见的几种情况嵌套超时、非活动标签的超时、追踪型脚本的节流、超时延迟等…一个浏览器的线程队列中任务 这里就不过多赘述可以到以下链接阅读 https://developer.mozilla.org/zh-CN/docs/Web/API/setTimeout 其实就是当线程忙碌时定时器会等待线程队列中的任务执行后再执行。 所以定时器动画视觉上看来就是一盹一盹…的效果。 2.requestAnimationFrame 而requestAnimationFrame由浏览器专门为动画提供的 API就是为了解决这类问题提升用户体验的。 且我们切换到其他页面时requestAnimationFrame会暂停下来直到我们回到该页面后动画会从暂停的位置继续执行。 3.应用场景 会用一定卡顿可以到我的github下载代码运行看效果。 https://github.com/wwaini/tao-vue3/tree/release240625 templatediv classbtnel-button clickgoStart开始/el-buttonel-button clickgoEnd停止/el-button/divdiv classa-box定时器/divdiv classb-boxrequestAnimationFrame/div /template script setup import { ref } from vue let leftNum ref(0) let flag ref(false) // 定时器动画停止标识 let timmer // 定时器 let animationRef // requestAnimationFrame存储 // 定时器动画事件 const goAStart () {let dom document.getElementsByClassName(a-box)dom[0].style.width 10pxtimmer setInterval(() {leftNum.value parseInt(dom[0].style.width)if (leftNum.value 800 || flag.value) {clearInterval(timmer)} else {dom[0].style.width (leftNum.value 3) pxconsole.log(dom[0].style.width);}}, 17); } const goAEnd () {clearInterval(timmer) } // requestAnimationFrame动画事件 const goBStart () {let dom document.getElementsByClassName(b-box)dom[0].style.width 10pxconst cb () {leftNum.value parseInt(dom[0].style.width)if (leftNum.value 800) {} else {dom[0].style.width (leftNum.value 3) pxconsole.log(dom[0].style.width);// 相当于递归执行animationRef requestAnimationFrame(cb)}}// 执行动画requestAnimationFrame(cb) } const goBEnd () {// 停止动画cancelAnimationFrame(animationRef) }const goEnd () {goAEnd()goBEnd() } const goStart () {goAStart()goBStart() } /scriptstyle scoped langscss .btn {text-align: center;margin-bottom: 20px; }.a-box {width: 20px;height: 80px;background-color: pink;position: absolute; }.b-box {width: 20px;height: 80px;background-color: blueviolet;color: #fff;position: absolute;top: 120px; } /style4)requestAnimationFrame兼容性
http://www.hkea.cn/news/14306529/

相关文章:

  • 南京网站建设小程序开发 雷仁网络兴宁区住房和城乡建设局网站
  • 海口网站制作价格中国企业信息网查询系统官网
  • 衡阳商城网站建设seo北京公司
  • 东莞做汽车有没有买票的网站新闻软文发布平台
  • 学生兼职网站开发股票网站模板
  • php wordpress单本小说网站源码+采集做第三方支付网站违法吗
  • 网站首页文件名通常是如何做卖菜网站
  • 昆山seo网站优化软件做网站用哪种编程语言
  • 旅游网站开发意义和价值公司做网站计入什么科目
  • 肇庆中小企业网站制作小说网站建设源码
  • 网站备案ip查询系统seo优化公司如何做
  • 做qq代刷网站做爰网站視屏
  • 相亲网站透露自己做理财的女生四川seo优化
  • 残疾人信息无障碍网站建设海外营销推广服务
  • wordpress站点实例安徽道遂建设工程有限公司网站
  • 抖音电商网站建设一站式采购平台官网
  • 网站建设的整个过程网站的推广方式包括
  • 做网站工作条件想做网站策划怎么做
  • ppt做视频模板下载网站有哪些内容wordpress换行按什么
  • 可以申请微信号的网站兴宁网站设计
  • 网站外链建设策略wordpress批量管理
  • 做一个营销型网站惠州建站平台
  • 网站建设管理属于职业资格吗不用wordpress
  • 龙岗微网站建设营销网站域名设计
  • 专门做地方特产的网站安徽住房与城乡建设部网站
  • 要如何关闭公司网站 撤销备案设计接单渠道
  • 做物业管理的企业网站正规赚佣金的平台
  • 购物网站的首页是静态用thinkphp做的网站
  • 网站的网站制作公司东莞网站制作搭建
  • 一元购网站建设多少钱宣传推广方案