javascript - canvas制作的时钟不同地方设置setInterval,不清楚为什么会效果不同。

 暮色归家 发布于 2022-11-20 19:47

现象:

用canvas制作时钟,用不同的方式来调用setInterval,效果不同。(详细代码在后面)

用法一:

setInterval(drawClock,1000);  
//下一秒的时候,之前的时分秒针会消失,出现新的时分秒针(我想要的效果)

function drawClock(){
    drawFace();
    drawNumbers();
    drawTime(); 
   //下一秒的时候,之前的时分秒针会消失,出现新的时分秒针(我想要的效果)
}

用法二:

drawClock();  
//上一秒的时分秒针没有消失(不想要的效果)

function drawClock(){
    drawFace();
    drawNumbers();
    setInterval(drawTime,1000);    
    //上一秒的时分秒针没有消失(不想要的效果
}

问题:

为什么用方法一可以清除掉上一秒的时分秒针?而方法二不可以?

Code Here:







    


1 个回答
  • 问了其他网友:因为用方法一,会覆盖原来的;方法二没有覆盖。所以看上去是正确的。这个启发了我对canvas覆盖/clear的性能关注。

    2022-11-20 20:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有