位置: 编程技术 - 正文

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原理)

  • 房地产开发企业资质等级有几个
  • 银行贴现属于贷款吗
  • 处置资产开啥发票
  • 什么经营范围可以开茶叶发票
  • 税金及附加现金流指定
  • 发票专用章盖在收据上有法律效益
  • 香港保险代理人佣金
  • 固定资产贷款偿还期计算公式
  • 可抵扣农产品进项税额吗
  • 金融企业往来收入科目属于什么科
  • 固定资产没收到发票收到实物入账有什么风险
  • 实收资本认缴制期限
  • 分销佣金分配
  • 扣员工餐费需要缴纳个税吗
  • 冲以前年度暂估
  • 购买办公室电脑桌分录
  • 一次性伤残就业赔偿标准
  • 收到应收的货款的会计分录
  • 员工借款可以直接转账吗
  • 汇算清缴补缴税分录
  • 自然人能申请破产吗?
  • 增值税可以不计提,直接缴纳吗
  • 一般纳税人以清包工方式
  • 垫资的利息的合法区间
  • 公司注销有哪些原因
  • 资产负债表里面应付账款怎么算
  • 期初建账实验步骤
  • 合伙企业营业执照多少钱
  • 收取赔偿金开具什么发票
  • 支付装修押金的会计科目
  • win10夜间模式怎么打开不了
  • 外购的形式
  • 冲减预交的增值税税率
  • 纳税申报怎么做
  • PHP Warning:PHP Startup: in Unknown on line 0解决办法
  • php中数组的常用函数及用法
  • 天猫的软件服务费指的是什么
  • 长期股权投资转让需要交什么税
  • php数组函数,选班长
  • 为实习生支付人身意外伤害保险如何进行账务处理?
  • 羽毛球脚踝扭伤怎么办
  • 如何提高php性能
  • phpeach函数
  • 收到债劵利息会减少吗
  • 微信小程序登录的账号怎么注销
  • php+mysql+jquery实现日历签到功能
  • php流程图
  • Apsara Clouder云计算技能认证
  • 小规模纳税人开普票要交税吗
  • 收入调节方式有哪三种
  • 销售折让怎么核算成本
  • 印花税减免优惠政策2019
  • 内账会计成本是什么意思
  • 收到备用金会计分录
  • 城镇土地使用税税率
  • 为什么运输合肥料检测核辐射人会拿一个玻璃棒
  • 消费税直接计入销售额吗
  • 跨年进项发票怎样账务处理
  • 跨年度退货账务处理
  • 应收账款占比高受哪些因素影响
  • 年度损益调整的会计分录
  • 工人的工资占企业的比例
  • 通过sql存储过程发送邮件的方法
  • 苹果电脑mac系统怎么用
  • 清华同方笔记本无线网络开关在哪
  • win10笔记本连接不了wifi
  • linux系统坏了怎么恢复数据
  • win7右下角点击没反应
  • zlib是什么意思
  • linux中使用less命令分屏查看
  • 如何优化资本结构
  • 安卓开源部分叫什么
  • js实现原理
  • shell中的括号
  • 了解python
  • JavaScript电子时钟倒计时第二款
  • java learning
  • python获取linux磁盘信息
  • 研发费用加计扣除2022政策
  • 国家税务贵州省税务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设