js怎么写动画

1.JS 怎么动态设置CSS3动画的样式引入jquery
然后给你要设置动画的对象增加或者删除css3动画的类就可以了 。
如我这里用colorchange这个渐变类在css里面写好动画效果以后在js里面给对象添加上就可以实现动画了
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Test</title>
<style type="text/css">
body{
padding: 20px;
background-color:#FFF;
}
.colorchange
{
animation:myfirst 5s;
-moz-animation:myfirst 5s; /* Firefox */
-webkit-animation:myfirst 5s; /* Safari and Chrome */
-o-animation:myfirst 5s; /* Opera */
}
@keyframes myfirst
{
from {background:red;}
to {background:yellow;}
}
@-moz-keyframes myfirst /* Firefox */
【js怎么写动画】{
from {background:red;}
to {background:yellow;}
}
@-webkit-keyframes myfirst /* Safari and Chrome */
{
from {background:red;}
to {background:yellow;}
}
@-o-keyframes myfirst /* Opera */
{
from {background:red;}
to {background:yellow;}
}
#main{
width:100px;
height:100px;
background:red;
}
#cgbt{
width: 100px;
margin: 20px 0 0 0;
text-align: center;
cursor: pointer;
}
#cgbt:hover{
background-color: #2D93CA;
}
</style>
</head>
<body>
<div id="main">
我会变么?
</div>
<div id="cgbt">
点我让上面的变颜色
</div>
<script src="http://www.xuexi88.com/zhishi/jquery-3.2.1.min.js" type="application/javascript"></script>
<script>
$(document).ready(function(){
$("#cgbt").click(function(){
$("#main").attr("class","colorchange");
});
});
</script>
</body>
</html>
2.怎么用JS现实网页上的动画效果掌握canvas的基本就很容易做这些 , 但是如果你要制作更加复杂的东西 , 你需要高级编译语言像Paper.js
Paper.js 是一个 JavaScript库用来制作绘图和动画 ,  一种Adobe Illustrator使用的基于Scriptographer的脚本语言 . 它自称是“矢量图脚本语言中的瑞士军刀”( “The Swiss Army Knife of Vector Graphics Scripting , ” ) , 其中重点突出矢量 。
图形制作中有两种:矢量图和栅格图 。栅格图就像你照相机拍出来的图片 , 如果你放大看 , 就是颜色填充的方格 。矢量图是有点连线组成的 。他们是不同的线条租和形状组 , 根据不同的指令绘图 。如果用矢量图 , 如图 , 这个Z放大后还是线条光滑 , 色泽饱满 。相比较 , 左边的栅格图就很模糊了 。矢量图库用于动画制作再完美不过 , 因为调解大小 , 旋转 , 和移动都非常容易操作完成 , 且快捷 , 因为同样的效果他们所需要使用的编译代码少 。(参见样本代码)
3.js怎么做一个div宽度变化的动画<script>
var i = 100;
var text = document.getElementById("text");
function test() {
var div = text.parentNode; //取得id=objID对象的父节点
var width = div.offsetWidth; //取得元素宽度
if (i < 1001) {//如果小于1000的话就把div宽度+1
i++;
div.style.width = i + "px";
};
};
//test("text");
text.onclick = function(){//点击执行
//不断执行div宽度+1
setInterval('test()',5);
}
</script>;你的问题在于用了for循环了 , 应该用定时器~