位置: 编程技术 - 正文

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

  • 劳务报酬个人所得税税率表
  • 公司之间往来款需要开收据吗
  • 小规模残疾人交多少税收
  • 冲红发票怎么填写信息
  • 企业所得税可以不交吗
  • 购买的地下室管道多能退吗
  • 客运承运人是什么意思
  • 以前年度少计费用,调整分录
  • 企业对固定资产进行计量时应选择的计量属性是
  • 未取得正式发票怎么整改
  • 增值税普票需要填写什么内容
  • 收入确认的
  • 固定资产和在建工程占所有者权益的占比
  • 核定经营额是一个季度还是一个月
  • 版权使用费属于什么税目
  • 期交保费资金占用年限计算公式
  • 比赛奖金支出计入什么科目
  • 无形资产和长期待摊费用思维导图
  • 印花税计税依据及计算方式
  • 胆固醇为什么会高
  • php tr td
  • 公司多缴税款超过3年怎么办
  • ensmix32.exe进程安全吗 ensmix32进程是什么文件产生的
  • 借入长期借款的利息
  • 资本公积和盈余公积的提取比例
  • 企业营运资金管理存在的问题
  • 可供出售交易资产
  • 进项税加计抵扣10%和15%
  • js字符串转换为数字类型
  • h5项目怎么打包成app
  • python自动控制
  • /f命令
  • ps怎么把人p掉背景还原
  • 新准则下担保企业有哪些
  • 增值税增量留抵退税政策2019
  • php中使用什么函数来定义常量
  • 公司有收入可不交社保吗
  • 报销人和经办人的含义
  • sql server 2005 sp4
  • mysql数据类型和java对应
  • 单位安装摄像头合法吗
  • 不动产租赁服务包括哪些
  • 库存股增加记哪一方
  • 所得税弥补以前年度亏损什么意思
  • 代理赚差价违法吗
  • 预计负债 负债 区别
  • 咨询服务费计入哪里
  • sqlserver的游标
  • sql server233错误
  • sql提取指定字符串
  • linux 编译命令
  • centos 安装chia
  • windows日历
  • jquery实现简洁文件上传表单样式
  • setcontentview报错
  • bat批处理字符串转ascii10进制规避特殊字符
  • unity系统错误
  • Javascript call和apply区别及使用方法
  • 好用的shell终端
  • vue路由怎么实现
  • 基于flask框架
  • 归档 oracle
  • python t()
  • diy相册设计
  • shell脚本特性
  • 在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信
  • javascript基础入门视频教程
  • javascript编程基础
  • android开发电视app教程
  • python中遍历
  • android 数据
  • python字符串的编码规则
  • python抓取整站链接
  • 粮食的增值税税率怎么算
  • 税务局验证码
  • 上海地区附加税税率
  • 开个人发票有什么好处?
  • 重庆电子税务局网页版登录
  • 为什么购进固定资产不得抵扣
  • 河南二套房契税征收2023标准是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设