首先在页面中创建一个canvas标签:

<body>
<canvas id="c1" width="500" height="500"></canvas>
</body>

js部分:

注意save()和restore()的运用,在num累加的情况下,保存路径和恢复路径可以让方块匀速运动;

定义变量num和value来设置临界点的方法。

<script>
window.onload = function(){
var oC = document.getElementById('c1');
var oGC = oC.getContext('2d'); var num = 0;
var num2 =0;
var value = 1; setInterval(function(){ num++; oGC.save(); //让旋转匀速运动 不然num值是累加的 旋转角度越来越大 oGC.clearRect(0,0,oC.width,oC.height);
oGC.translate(200,200); oGC.rotate(num*Math.PI/180); //这里设置缩放效果 利用num2和value值的关系控制缩放的临界点
if(num2==100){
value = -1;
}else if(num2==0){
value = 1;
}
num2 += value;
oGC.scale(num2*(1/50),num2*(1/50)); oGC.translate(-50,-50);
oGC.fillRect(0,0,100,100); oGC.restore();
},30)
};
</script>

最新文章

  1. dedecms头部常用:标题,栏目描述,关键词
  2. java如何使用JUnit进行单元测试
  3. vs2013 括号自动配对样式设置
  4. 日期函数(sql)
  5. 【leetcode】Best Time to Buy and Sell (easy)
  6. js验证身份证号
  7. Map小记
  8. canvas动画基础
  9. NYOJ2括号配对问题
  10. Spiral Matrix II 解答
  11. Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表
  12. Java并发编程:JDK中的阻塞队列
  13. ios在Xcode里关于图片的权限设置
  14. 201521123082 《Java程序设计》第13周学习总结
  15. pillow的用法
  16. MongoDB 常用语句
  17. 20175208 实验二 《Java面向对象程序设计》实验报告
  18. IIS + FastCGI+php(从5.2升级到5.3)
  19. zookeeper原理与安装
  20. 谷歌浏览器内核Cef js代码整理(一)

热门文章

  1. pyv8安装
  2. python中使用urllib2伪造HTTP报头的2个方法
  3. Delphi 中的常用事件
  4. jquery serialize 和 console 漫谈
  5. Java 英语
  6. EhLib DBGridEh组件在Delphi中应用全攻略总结(转)
  7. lepus3.7 天兔监控安装手册 CentOS6.5+mysql5.6
  8. 管理维护Replica Sets
  9. JavaScript的核心
  10. Java泛型的类型擦除