为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这里的clearRect要放在第一行?

为什么这里的clearRect要放在第一行?

梵蒂冈之花 2018-09-14 10:09:58
var dom = document.getElementById("clock");     var ctx = dom.getContext("2d");     var width = ctx.canvas.width;       var height = ctx.canvas.height;     var r = width / 2;function drawBackground(){           **ctx.save();**            .......省略一些代码            }function drawHour(hour,minute){.......省略一些代码}function drawMinute(minute,second){.......省略一些代码}function drawSecond(second){  .......省略一些代码           }function drawDot(){.......省略一些代码}        function draw(){          **ctx.clearRect(0,0,width,height);**          var time = new Date(),             hour = time.getHours(),                       minute = time.getMinutes(),             second = time.getSeconds();      drawBackground();      drawHour(hour,minute);      drawMinute(minute,second);      drawSecond(second);      drawDot();      **ctx.restore();**      }      draw();      setInterval(draw,1000);为什么ctx.clearRect(0,0,width,height)要放在draw()函数第一行?那不是一调用就被清除了?那还怎么画?
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

不清除掉原来canvas中的内容,那之前所有draw出来的东西的痕迹不都还在么。


查看完整回答
反对 回复 2018-10-30
  • 1 回答
  • 0 关注
  • 761 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信