位置: 编程技术 - 正文

window.requestAnimationFrame是什么意思,怎么用

编辑:rootadmin
再看别人实现粒子效果的时候会有以下代码: 这个到底是什么意思,它又是怎么用的呢? window.requestAnimationFrame 告诉浏览器您要执行的动画并且请求浏览器的在下一个动画帧重绘窗口。该方法在浏览器重绘之前作为一个回调函数被调用。 就是告诉浏览器在刷新屏幕的时候,调用这个方法。 window.requestAnimationFrame的前世今生: 在年代,那个互联网做广告的年代,window上面各种走马灯,各种状态文字都是用setTimeout来时实现的,如下: 动画的问题最棘手的是延时问题,对于显示器来说,每一秒帧频,如果我们按照浏览器的刷新速率来控制我们的动画时间的话会有很好的效果,即ms,setTimeout(callback,/),但是: 1.各个浏览器及时精度是不一样的。 2.对于setTimeout 和setInterval 实现机制并不是我们需要的那样,当经过特定的时间后,浏览器会将那部分代码加入到UI的绘制队列当中,如果这个时候UI线程很忙,有其它的任务阻塞,动画的下一帧就不会按时执行。经过长时间的累计堆加之后,可能我们偏离原来的时间点误差越来越大。Mozilla 的 Robert O'Callahan 在思考这个问题,并想出了一个独特的方案。他指出CSS transitions 和 animations的优势在于浏览器知道哪些动画将会发生,所以得到正确的间隔来刷新UI。而javascript动画,浏览器不知道动画正在发生。他的解决方案是创建一个mozRequestAnimationFrame()方法来告诉浏览器哪些javascript代码正在执行,这使得浏览在执行一些代码后得到优化。 mozRequestAnimationFrame()方法接受一个参数,是一个屏幕重绘前被调用的函数。这个函数用来对生成下合适的dom样式的改变,这些改变用在下一次重绘中。你可以像调用setTimeout()一样的方式链式调用mozRequestAnimationFrame()。 这个就是window.requestAnimationFrame的由来。 在Mozilla官网看到如下 Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes. 由于这项技术的规范还没有稳定,正确的前缀使用在各种浏览器的兼容性表。还要注意的是语法和行为的实验技术是如有改变,在未来版本的浏览器的规格变化。目前在Android系统下是不支持的,动画只能setTimeout咯。

推荐整理分享window.requestAnimationFrame是什么意思,怎么用,希望有所帮助,仅作参考,欢迎阅读内容。

window.requestAnimationFrame是什么意思,怎么用

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

nodejs的require模块(文件模块/核心模块)及路径介绍 在nodejs中,模块大概可以分为核心模块和文件模块。核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net'))。文件模块,

nodejs中exports与module.exports的区别详细介绍 你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块。例如:(假设这是rocker.js文件)exports.name=function(){console.log('MynameisLemmyKilmister');};

javascript真的不难-回顾一下基础知识 前言说Jquery之前,先来学习一下Javascript(以后简称为JS)语言中的基础知识问题,其时对于每种编程语言来说基础知识都是大同小异的,对变量,函数

标签: window.requestAnimationFrame是什么意思,怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/379131.html 转载请保留说明!

上一篇:关于全局变量和局部变量的那些事(关于全局变量和局部变量说法不正确的是)

下一篇:nodejs的require模块(文件模块/核心模块)及路径介绍(nodejs require原理)

  • 临时用工的会计分录
  • 银行的记账凭证怎么做
  • 建筑公司没有资质可以施工吗
  • 专用发票抵扣联丢失还能抵扣吗
  • 培训发生的住宿费 差旅费可以放入职工教育经费吗
  • 一般纳税人年度开票限额
  • 从免税到征税企业应该怎么做
  • 免交的增值税计入什么科目
  • 注册资本变更需要去税务局吗
  • 对公提回贷算收入吗
  • 销售返利是冲减收入还是做销售费用
  • 研发费用直接投入占比过高税务预警
  • 税务票开错了怎么办理退税
  • 2021发票勾选认证
  • 以公允价值计量是什么意思
  • 工资薪金支出账载金额小于实际发生额
  • 餐饮业收入的会计分录及摘要
  • 路由器连接上没网络怎么回事
  • 煤矿安全费用会议
  • 招待客户住宿费可以抵扣进项税吗合理吗
  • 公司车辆违章怎么办
  • 技术合同包括哪些类型
  • 资金运动包括哪几个方面
  • 增值税税率类型
  • linux xmrig
  • 金融服务机构
  • 低值易耗品是怎样的
  • 赫尔辛基哈加赫利亚大学
  • 残疾人就业保障金怎么申报
  • 最全vue项目实战
  • 训练集验证集和测试集
  • 关联公司开发票
  • php.ini上传限制
  • 织梦如何添加浮动广告
  • js日期选择
  • 公司吸收合并是利好吗
  • 关联企业借款费用
  • win2008r2服务器文件无法进入软件
  • 贸易公司委托加工费怎么入账
  • 企业所得税中资产计税基础怎么填
  • 所得税费用需要结转损益吗
  • 未开票收入怎么申报增值税
  • 机械设备预付款比例
  • 员工周转房管理办法
  • 建筑租赁公司账务处理
  • 预交增值税后期处理
  • 建筑公司收到的工程服务发票怎么做账
  • 跨年收入冲销如何申报
  • 管理费用记错了跨年了怎么调整
  • 跨月的发票还能入账吗
  • 租车运货产生的费用
  • 税法上的营业收入怎么算
  • 建筑企业其他业务收入范围
  • 公司现金收入存入私人老板账户
  • mysql binlog redo
  • mac如何通过终端启动
  • 电脑如何修改硬盘启动顺序
  • windows7自动开机脚本文件
  • linux oracle12c
  • 电脑xp桌面
  • gnuradio编写模块
  • win10开机黑屏进入不了系统界面
  • 双系统卸载deepin
  • powershow是什么意思
  • 事件处理的三个要素
  • andriod 控件
  • JQuery 又谈ajax局部刷新
  • Android include 标签注意点
  • js获取当前点击事件的节点
  • javascript基本语句
  • 村财审计报告怎么写
  • 个人所得税完税证明网上打印
  • 志愿者开展活动后存在的问题
  • 农机免税范围
  • 税控盘怎么申请领发票
  • 新疆中国邮政投诉电话
  • 四川企业退休人员80岁高龄补贴
  • 税务局签合同
  • 诚信励志语录经典短句
  • 国企重组裁员政策解读
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设