位置: 编程技术 - 正文

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

  • 印花税资本金项目如何缴纳
  • 存货是根据总账科目计算填列吗
  • 收到失业金返还什么意思
  • 工商年报纳税总额包括哪些税
  • 科技型中小企业申请流程
  • 印花税怎么计提和缴纳
  • 营业执照类型有限责任公司
  • 企业工商注销啥意思
  • 加计抵扣进项税额会计分录
  • 2019年印花税税率多少
  • 费用确认的时点
  • 环境评估费应计入什么科目
  • 工程款预付账款的账务处理
  • 个人所得税允许扣除的费用
  • 用友如何取消月末结转
  • 行政单位往来款项长期未清理
  • 企业银行余额
  • 企业在建工程如何做账
  • 劳务公司计提工资怎么算
  • 交易性金融资产借贷方向
  • 汽车修理厂如何做账
  • 非征期不能抄报
  • 公户转账备注写错会查吗
  • 采购合同的运作过程为
  • 太阳能真空管和普通管的区别
  • 外包劳务费用如何计算
  • 存货抵偿债务账务处理
  • 软件外包付款流程
  • 暂估入账的处理
  • 日用品 食品
  • 出口退免税的基本政策包括
  • 路由器的默认网关在哪里看
  • 收购农产品进项税抵扣税率是多少
  • ConquerCam.exe进程的详细介绍 ConquerCam进程信息介绍
  • 手机短信是哪一年开始的
  • 无形资产处置计入哪里
  • 增值税常见账务处理方法
  • php常见字符串函数
  • 公司注销后所欠债怎么办
  • 解决laravel 5.1报错:No supported encrypter found的办法
  • 框架开源
  • 计算机视觉需要学什么
  • 什么叫做关税完税证明呢
  • 织梦系统基本参数
  • sql server 2008数据库密码忘记
  • 个税代扣代缴需要什么
  • mysql乱码问题怎么解决
  • 小规模未达到起征点申报表怎么填
  • 服务业增值税加计10%如何申报
  • 存货的采购成本不包括
  • 一般纳税人第一次逾期申报处罚吗
  • 支付的劳务派遣服务费计入什么科目
  • 党建经费可以购买什么
  • 收到保险理赔款计入什么科目
  • 小规模纳税人季报网上申报流程
  • 公司购买手表入什么科目
  • 增值税税控系统专用设备费及技术维护费抵扣
  • 换工作时社保公积金怎么办
  • windows2003远程桌面服务
  • wmiprvse.exe这是什么进程
  • 电脑提示Windows照片查看器无法打开此图片
  • linux防火墙设置firewalld
  • win7安装显卡驱动显示未知错误
  • win10怎么关掉
  • msn无法登录
  • dosbox批处理
  • python的脚本
  • python计算两日期间隔月份
  • javascript总结
  • shell常用命令及示例
  • numpy体会
  • 浏览器判断手机品牌
  • 沈阳地方税务局原局长
  • linux显示中文
  • 广州电子税务局官网登录入口网址
  • 南京电子税务局咨询电话
  • 消费税申报详细流程图
  • 四川税务干部学校官网
  • 国家税务贵州省税务
  • 创新税务稽查方案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设