HTML5新特性-- -定时器

时间:2023-01-16 21:02:02

一、定时器:一次性定时器/周期性定时器

#requestAnimationFrame 智能定时器

#此定时器主要使用范围:动画和游戏中

特点:

setTimeout(fn,500);

setInterval(fn,500); 周期性调用fn函数间隔500ms

二台电脑:  新 12ms   旧 600ms

解决方案:requestAnimationFrame 智能计算当前浏览器效率

11ms,计算600ms 按照不同浏览器设置间隔时间

#实现功能平滑

#使用方法  requestAnimationFrame == setTimeout

标准语法

requestAnimationFrame(fn)

如何周期调用定时器完成游戏

function f1(){

requestAnimationFrame(f1);

....

....

}

f1();

二、HTML5新特性-svg--echarts(重点)

canvas

svg

绘图类型

2D位图

2D矢量图

如何绘制

使用js代码

标签

事件绑定

只能绑定在画布

每个图形都可绑定事件

应用场景

网页特效;游戏

地图

svg 图形创建流程

(1)创建画布标签

<svg id="s3" width="500" height="400">

...

</svg>

(2)添加圆环标签

<circle cx="" cy="" r="" fill="" stroke=""></circle>

cx,cy  圆心坐标

r     半径

fill    填充

stroke 描边

通过js在svg画布上动态创建元素

(1)字符串拼接方式来创建元素

var str = "<circle></circle>";

svg.innerHTML = str;

(2)通过创建对象方式

var c = document.createElementNS(

"http://www.w3.org/2000/svg",    #指定元素svg标准

"circle");

svg.appendChild(c);

(3)为元素添加属性获取属性

设置与获取属性只能采用核心DOM方法不能使用HTML DOM

#核心DOM circle.setAttribute("属性名",值)

var 值=circle.getAttribute("属性名");

#HTML dom   circle.name = value

var name = circle.name

三、讲解创建画布标签--直线

<line x1="" y1="" x2="" y2="" stroke-width="" stroke=""

stroke-linecap=""></line>

x1="" y1=""  起点坐标

x2="" y2=""  终点坐标

stroke-width="" 边线宽度

stroke=""      边线样式

stroke-linecap="" 边线顶端样式 round 圆角