您的位置 首页 > 数码极客

css3如何通过js触发播放

欢迎大神评论指正!欢迎关注前端小白一锅!

web前端动画实现方式

GIF:以图片形式存在的动画,存储容量大,需要借助其他工具制作;

flash:需第三方工具制作,同时部分浏览器需要安装插件才能播放;

css3:浏览器对css3动画实现的编码支持还不完全;

JavaScript:可以实现上面三种动画方式实现的动画,浏览器支持度高。

所以web前端的动画实现我们推荐使用JavaScript来实现。

JavaScript动画实现的三个要素

DOM元素:DOM元素时前端动画的对象,我们使用JavaScript实现动画针对的需要“动”的东西就是DOM元素。

属性:JavaScript通过改变DOM元素的属性,从而实现动画效果,比如控制DOM元素的width和height属性,从而在页面上实现变大变小的动画效果。

定时器:通过定时器不断的去改变DOM元素的属性,从而形成动画。JavaScript有三个常用的定时器,分别是:setInterval、setTimeout和requestAnimationFrame。

定时器

setInterval

var IntervalID=setInterval(func,delay[,param1,param2,...]);//使用定时器创建动画

clearInterval(IntervalID);//清除动画

其中func参数为执行改变属性操作的函数,delay为触发动画的时间间隔(单位是毫秒),param为可以传入的func函数参数。只需要调用一次该定时器,动画就可以不间断执行。

setTimeout

var timeoutID=setTimeout(func,[delay,param1,param2,...]);使用定时器创建动画

clearTimeout(timeoutID);//清除动画

定时器setTimeout()中的参数含义和setInterval中的是一致的,不同的是参数delay变成了可选参数,如果不传入delay时,默认触发动画的时间间隔为0,需要注意的是在使用setTimeout()实现动画时需要在每一帧结束时都调用setTimeout(),setTimeout()在延时后只执行一次动画,而setInterval()在每次延时后都会自动开始执行动画。

requestAnimationFrame

var requestID=requestAnimationFrame(func);//使用定时器创建动画

cancelAnimationFrame(requestID);//清除动画

定时器requestAnimationFrame的时间间隔由显示器的刷新频率来决定,从而使得动画更加流畅且不会掉帧。它和setTimeout()一样,在每一帧动画结束后都需要再次调用。

web前端常见动画

形变:改变元素的宽高,从而改变大小

位移:改变元素的位置

旋转:旋转元素

透明度:改变元素的透明度

几乎所有的复杂动画都是由上面四种简单动画组合而来的。

收藏转发请先关注,原创不易,谢谢关注!

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“css3如何通过js触发播放”边界阅读