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

Canvas 绘制时钟

难度中级
时长 1小时 0分
学习人数
综合评分9.73
141人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.7 逻辑清晰

已采纳回答 / 风羽_0001
js执行顺序问题,具体因为你没贴出代码,可百度看自己的情况做对应修改

已采纳回答 / qq_眉黛青山_0
为什么要除以3600?我们是在计算他的弧度而不是在小时和秒在换算。秒钟也可以加入,但对于整个指针来看他所产生的弧度就很小了,可以忽略不计。

已采纳回答 / 慕仔7504742
number 是数组的元素,i 是当前遍历位置,是直接用的。

已采纳回答 / m慕光
你有没有把ctx.save()写成save(),建议用chrome浏览器调试一下

已采纳回答 / 慕仔1661316
forEach是js里对象的方法,和java里的没关系

已采纳回答 / shsgear
你把drawBackground和drawDot函数放在draw()函数外面没有意义,因为每次执行draw函数都会直接清除画布,还是会被清除掉.尝试下这样:<...code...> 个人感觉画布在restore和save上要多加小心,很容易出错了,我是调试时没有在draw()函数忘了写上ctx.restore()出现跟你一样的情况,加上之后发现虽然不错位了,但是没有清除的效果,所以就改成了上面的在定时器里清除画布全部代码如下:<...code...>

已采纳回答 / 无题毛毛
<script type="text/javascript"> var dom = document.getElementById('clock'); var ctx = dom.getContext('2d'); var width = ctx.canvas.width; var height = ctx.canvas.height; var r = width/2; var rem = width/200; function drawBackground(){ ctx.s...

已采纳回答 / muwenyuan
在drawBackground()开始那保存一下当前的环境状态

已采纳回答 / 上头
我用的是AndyJS2,我感觉挺不错,你可以自己上网找一下看看有没有更好的,如果你想尝试可以私信一下我,我可以发你

已采纳回答 / 游勇决
低版本的IE是不支持getContext()的,IE太坑了
首页上一页123下一页尾页
课程须知
javascript基础知识
老师告诉你能学到什么?
1、几何知识 2、从零学习canvas

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消