您现在的位置是:亿华云 > 知识

前端实现动画的六种方式,够用!

亿华云2025-10-04 03:43:02【知识】6人已围观

简介引言动画基本上分类两类:补间动画和帧动画。补间动画:补齐中间的动画。由浏览器帮助补齐中间的状态,开发者只需要定义开始和结束的状态。帧动画:除了开始与结束状态,开发者还可以定义中间关键帧的状态,可以制作

引言

动画基本上分类两类:补间动画和帧动画。够用

补间动画:补齐中间的前端动画。由浏览器帮助补齐中间的实现状态,开发者只需要定义开始和结束的动画的种状态。

前端实现动画的六种方式,够用!

帧动画:除了开始与结束状态,够用开发者还可以定义中间关键帧的前端状态,可以制作复杂的实现动画。

前端实现动画的六种方式,够用!

通常在前端中,动画的种实现动画的够用方案主要有6种:

前端实现动画的六种方式,够用!

javascript直接实现;SVG(可伸缩矢量图形);CSS3 transition;(补间动画)CSS3 animation;(帧动画)Canvas动画;requestAnimationFrame;

javascript 直接实现动画

其主要思想是通过setInterval或setTimeout方法的站群服务器回调函数来持续调用改变某个元素的CSS样式以达到元素样式变化的效果。

示例

* {

margin:0;

padding:0;

}

div {

width: 200px;

height: 200px;

background-color: #ccc;

}

window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame ||

window.msRequestAnimationFrame;

let elem = document.getElementById("rect");

let left = 0;

//自动执行持续性回调

requestAnimationFrame(step);

//持续该改变元素位置

function step() {

if(left

left+=1;

elem.style.marginLeft = left+"px";

requestAnimationFrame(step);

}

}

复制代码

我们注意到,前端 requestAnimationFrame​ 只是实现 将回调的方法传入到自身的参数中执行 ,而不是动画的种通过 setInterval​ 调用。你要知道,够用无论是前端 setInterval()​ 还是 setTimeout() 都不十分精确。为它们传入的实现第二个参数,云南idc服务商实际上只是指定了把动画代码添加到浏览器UI线程队列中以等待执行时间。如果队列前面已经加入其他任务,那动画代码就要等前面的任务完成后再执行。

总结

复杂的动画是通过一个个简单的动画组合实现的。基于兼容性问题,通常在项目中,一般在

桌面端浏览器推荐使用javascript直接实现动画或SVG方式;移动端可以考虑使用CSS3 transition、CSS3 animation、Canvas或requestAnimationFrame方式**。

很赞哦!(6823)