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

河南网站建设哪里好seo优化工作内容

河南网站建设哪里好,seo优化工作内容,青岛今天发生的重大新闻,wordpress 去除html一.什么是requestAnimationFrame: requestAnimationFrame 是浏览器提供的一个原生方法,用于在浏览器的下一次重绘之前执行一个回调函数,简单理解就是在现在这一帧的时间(如果是60fps,那就大概是1000/6016.6ms)内其他的…

一.什么是requestAnimationFrame:

requestAnimationFrame 是浏览器提供的一个原生方法,用于在浏览器的下一次重绘之前执行一个回调函数,简单理解就是在现在这一帧的时间(如果是60fps,那就大概是1000/60=16.6ms)内其他的东西已经执行完毕,就会执行这个函数,然后等这一帧的时间结束,又开始下一帧,一直循环。

它的核心作用是:在浏览器准备好重绘前自动调度回调函数,从而实现高性能动画效果。

二.基本使用方法:

1.基本语法:

let id = requestAnimationFrame(callback);

callback是执行的函数,浏览器会将当前帧的时间戳作为第一个参数传入;返回值id可以用于取消调用;

2.取消动画

cancelAnimationFrame(id);

三.使用场景:

1.用于绘制大量数据到页面上,可以避免页面卡顿

由于 requestAnimationFrame 的执行时间是这一帧其他事情都处理好了才会执行,所以可以把大的任务进行拆分,放在这里面执行,比如下面需要页面上渲染10万条数据:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>无痕渲染10w条数据</title><style>#container {max-height: 400px;overflow-y: scroll;}.item {padding: 5px;border-bottom: 1px solid #ccc;}</style></head><body><div id="container"></div><script>const data = [];for (let i = 1; i <= 100000; i++) {data.push("Item" + i);}const container = document.getElementById("container");let index = 0;function renderChunk(startTime) {const frameBudget = 16; // 每帧最多使用 16msconst fragment = document.createDocumentFragment();while (index < data.length) {const div = document.createElement("div");div.textContent = data[index++];fragment.appendChild(div);// performance.now() 表示当前代码执行时距离页面加载开始过去的时间,单位是ms// startTime是requestAnimationFrame给回调函数传入的参数,是当前帧的开始时间,也是通过performance.now()获取的if (performance.now() - startTime > frameBudget) break;}container.appendChild(fragment);if (index < data.length) {requestAnimationFrame(renderChunk);}}requestAnimationFrame(renderChunk);</script></body>
</html>

通过这种分开渲染的方式,可以避免页面卡顿。

2.用于获取更精准的时间

相较于使用 setInterval 和 setTimeout 定时器来定时完成任务,requestAnimationFrame可以得到更精准的时间,因为代码本身执行是会消耗时间的,或者因为其他耗时任务的执行,都会影响到定时器中代码的执行时间,但是requestAnimationFrame不会,每次它的执行,都可以获取到最新的时间,以下是一个实时更新当前时间的代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>获取当前时间</title></head><body><div id="time"></div><button onclick="cancelUpdate()">取消更新</button><script>let aniId = null;let updateTime = () => {let now = new Date();let hour = now.getHours().toString().padStart(2, "0");let minute = now.getMinutes().toString().padStart(2, "0");let second = now.getSeconds().toString().padStart(2, "0");let nowTime = `${hour}:${minute}:${second}`;document.getElementById("time").innerText = nowTime;aniId = requestAnimationFrame(updateTime);};updateTime()const cancelUpdate = () => {cancelAnimationFrame(aniId);};</script></body>
</html>
http://www.dtcms.com/wzjs/252732.html

相关文章:

  • 制作个人网站怎么做企业宣传文案
  • 无锡电子商务网站制作湖南seo优化价格
  • 广东网站建设专业公司营销型网站建设策划书
  • 网站性质天津站内关键词优化
  • 公司开发个网站怎么做qq群推广平台
  • 做网站有一个火箭回顶部西安疫情最新数据消息5分钟前
  • 做视频网站违法站长工具麻豆
  • lnmpa安装wordpress北京搜索引擎优化seo
  • 哈尔滨网站建立公司关键词挖掘站网
  • 宁波企业网站开发站长素材音效下载
  • 网站建设大熊猫点搜网站的推广平台有哪些
  • 企业网站的一般要素有软文推广多少钱
  • 网页设计中优秀的网站seo是如何优化
  • 做养生网站怎么赚钱病毒什么时候才能消失
  • 网页网站设计公司网站排名软件有哪些
  • 做网站后台应该谁来做重庆电子商务网站seo
  • 网站上线多少钱商务软文写作300
  • 怎样做才能让网站有排名网站模板之家免费下载
  • 怎么能查到网站是哪个公司做的百度ai人工智能平台
  • 企业做网站步骤seo零基础入门教程
  • 淘客网站让别人做如何找客户资源
  • 自己怎么建设一个网站郑州seo优化大师
  • 企业网站建设的总体目标软件开发培训
  • 百度做网站引流760关键词排名查询
  • wordpress相册展示爱站网站长seo综合查询
  • 专门做饥饿营销的网站美橙互联建站
  • 中小企业网络规划与设计论文上海seo服务
  • 广州本地网站又一病毒来了比新冠可怕
  • 创建手机网站上海网站建设关键词排名
  • 莱芜信息港房产seo优化易下拉霸屏