博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动画 球
阅读量:5899 次
发布时间:2019-06-19

本文共 2138 字,大约阅读时间需要 7 分钟。

1.javascript动画

通过javascript在一定周期内不断地改变宽度和高度的值。动画可能没有按照预期的时间执行,因为javascript是单线程的,可能线程被其他的js代码使用而需要等待。可能出现动画不流畅的现象。

#ball{
margin: 100px auto; background-color: yellow; width: 1px; height: 1px; border-radius: 50%; -webkit-border-radius: 50%;}
var ball = document.getElementById('ball');    requestAnimationFrame(function draw(){    var width = ball.offsetWidth,          height = ball.offsetHeight;    if(width < 100){          requestAnimationFrame(draw);    }        ball.style.width = width + 1 + 'px';    ball.style.height = height + 1 + 'px';})

 

2.css transition

transition使css的属性值在一定的时间内平滑地过渡。

transiton: property duration timing-function delay

#ball{
margin: 100px auto; background-color: yellow; width: 1px; height: 1px; border-radius: 50%; transition: all 2s; -webkit-transition: all 2s; }
var ball = document.getElementById('ball');setTimeout(function(){    ball.style.width = '100px';    ball.style.height = '100px';},1000)

 

3.css animation帧动画

创建多个帧,从一个帧样式逐渐变化到另一个帧样式。

animation: name duration timing-function delay iteration-count direction fill-mode play-state

#ball{
margin: 100px auto; background-color: yellow; border-radius: 50%; animation: draw 2s infinite alternate; -webkit-animation: draw 2s inifinite alternate; } @keyframes draw{
from {width: 1px;height:1px;} to {
width: 100px;height: 100px;} } @-webkit-keyframes draw{
from {width: 1px;height:1px;} to {
width: 100px;height: 100px;} }

 

4.canvas

canvas不断擦除与绘制,达到动画效果。

var canvas = document.getElementById('myCanvas');if(canvas.getContext){    var context = canvas.getContext('2d');}function draw(radius){    context.beginPath();    context.arc(100,100,radius,0,Math.PI*2,true);    context.closePath();    context.fillStyle = 'yellow';    context.fill();}var radius = 1;var interval = setInterval(function(){    radius++;    if(radius >= 50){    clearInterval(interval);    return;    }    draw(radius);},20)

 

转载于:https://www.cnblogs.com/fe-huahai/p/5647775.html

你可能感兴趣的文章
微软职位内部推荐-Principal Software Eng Mgr
查看>>
.net技术博客地址列表
查看>>
字符串处理 Codeforces Round #305 (Div. 2) A. Mike and Fax
查看>>
python学习——函数及其参数
查看>>
《CLR Via C# 第3版》笔记之(五) - C#中的伪Union类型
查看>>
国王游戏
查看>>
为什么我厌恶扫楼
查看>>
HTTP请求中POST与GET的区别
查看>>
java集合框架03
查看>>
xml文件
查看>>
实现单例模式C++版本
查看>>
“多团队大规模”开发模式 - 基于SAP HANA平台的多团队产品研发
查看>>
手动把asp.net的类生成dll文件的方法
查看>>
编程技术面试的五大要点
查看>>
[解决方法] php大form用post方式传递数据过多被截取的问题
查看>>
前端页面loading效果(CSS实现)
查看>>
人生有何意义@胡适 笔记
查看>>
WPF绘图与动画(四)
查看>>
How to remove a Data Guard Configuration from Primary Database (文档 ID 733794.1)
查看>>
打造Ubuntu下Java开发环境
查看>>