最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js如何实现动画

来源:懂视网 责编:小采 时间:2020-11-27 20:13:24
文档

js如何实现动画

js如何实现动画:1.css的transition。语法:transition: property duration timing-function delay; property:填写需要变化的css属性如:width,line-height,font-size,color等;duration:完成过渡效果需要的时间(2s 或者2000ms)timing-f
推荐度:
导读js如何实现动画:1.css的transition。语法:transition: property duration timing-function delay; property:填写需要变化的css属性如:width,line-height,font-size,color等;duration:完成过渡效果需要的时间(2s 或者2000ms)timing-f

1.css的transition。

语法:

transition: property duration timing-function delay;
property:填写需要变化的css属性如:width,line-height,font-size,color等;
duration:完成过渡效果需要的时间(2s 或者2000ms)
timing-function:完成效果的速度曲线(linear,ease,ease-in,ease-out等等)
描述
linear匀速(等于 cubic-bezier(0,0,1,1))。
ease从慢到快再到慢(cubic-bezier(0.25,0.1,0.25,1))。
ease-in慢慢变快(等于 cubic-bezier(0.42,0,1,1))。
ease-out慢慢变慢(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out先变快再到慢(等于 cubic-bezier(0.42,0,0.58,1))。渐显渐隐效果
cubic-bezier(n,n,n,n)在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。
timing-delay:动画效果的延迟触发时间(2s 或者2000ms)。默认值分别为:all 0 ease 0

transition抓住了所设置变化属性的起始态和完成态,通过设定的速度曲线来完成动画。可以涉及到各种变化的css属性,默认为all,则所有变化的属性都会在出发时,以动画的形式展现出来。

这种动画方式是css3的,因此ie9以下是不支持的,其他的浏览器需要加前缀,并且只有两态,不支持自定义中间的状态。

例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<style type="text/css">

p

{

width:100px;

height:100px;

background:red;

transition:width 2s;

-moz-transition:width 2s; /* Firefox 4 */

-webkit-transition:width 2s; /* Safari and Chrome */

-o-transition:width 2s; /* Opera */

}

p:hover

{

width:300px;

}

</style>

<p></p>

tips:transform是一种变化属性,该属性允许我们对元素进行旋转、缩放、移动或倾斜。可以作为transition中需要变化的属性。

   前缀:

      transform:rotate(9deg);
      -ms-transform:rotate(9deg); /* Internet Explorer */
      -moz-transform:rotate(9deg); /* Firefox */
      -webkit-transform:rotate(9deg); /* Safari 和 Chrome */
      -o-transform:rotate(9deg); /* Opera */  

2.css3的animation属性

语法:

animation: name duration timing-function delay iteration-count direction;
name:keyframe的名称,也就是定义了关键帧的动画的名称,这个名称用来区别不同的动画。
duration:完成动画所需要的时间(2s 或者 2000ms)
timing-function:完成动画的速度曲线
delay:动画开始之前的延迟iteration-count:动画播放次数
direction:是否轮流反向播放动画(normal:正常顺序播放,alternate下一次反向播放)如果把动画设置为只播放一次,则该属性没有效果。使用animation属性制作动画可以更加灵活的设置动画帧,通过不同keyframe(动画帧)的设置,实现很多优雅的效果,keyframe中的百分数是动画完成总时间的比例。
animation是设置总的动画效果,而keyframe中设置上相应的动画名字,然后在keyframe中设置具体的动画效果。当然由于是css3的属性,仍然需要注意它的兼容性,加上必须的前缀。例子:

1

2

3

4

5

6

文档

js如何实现动画

js如何实现动画:1.css的transition。语法:transition: property duration timing-function delay; property:填写需要变化的css属性如:width,line-height,font-size,color等;duration:完成过渡效果需要的时间(2s 或者2000ms)timing-f
推荐度:
标签: 如何 动画 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

Top