慕工程1598804
关联文件?js和html?
四方果和
像素,原canvas框宽高为200px,圆半径r 为100px,要减去外圆10px,以及时针要短一点所以r 减去30
整点数字的x位置 = Math.cos(rad)*(r-30); y位置 = Math.sin(rad)*(r-30);
rad的设置 var rad = 2*Math.PI /12 * i; 因程式不接受角度,只接受弧度,因此每个整点的弧度为 2 pi /12 ==>每个整点弧度 * i (顺序从3开始)
function(number,i) , number 指 var hourNumber=[3,4,5,6,7,8,9,10,11,12,1,2]; i 指的是 1~12 的顺序
慕粉3727899
http://www.w3school.com.cn/这个网站
慕粉3727899
了解下 Array.forEach()
悬崖冰
因为你把垂直和水平对齐放到了循环里面,导致第一次填充数字的时候是先填充后对齐所以没用,要把对齐放到循环上面
慕运维5539158
问题找到了,ctx打成stx了,粗心呐
慕粉1469056768
不应该 这个上面的不存在兼容性问题 应该是你哪里敲错了
慕粉1472808693
已经解决了,谢谢。画布宽高设置错了。写成css样式了
Gean01
从3点的位置开始画秒,刚好画一圈。
Gean01
白小纯King
你话圆的时候多写了一位像这样cxt.arc(x, y, 2,2, 0, 2*Math.PI);多写了一个2
________________KR
遍历hournumber这个数组,跟for循环的效果一样
weibo_戴帽子的小姑凉100_0
rad=2*Math.PI/12 每小时弧度 乘以i就是你想要的小时数该有的弧度
Freen247
应该是用了灰色的环境
慕莱坞4826981
当然不行了,得改回来
cutecat1234567890_
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>canvas clock</title>
<style>
div{
text-align: center;
margin-top: 250px;
}
#clock{
border:10px solid #ccc;
}
</style>
</head>
<body>
<div>
<canvas id="clock" height="400px" width="400px"></canvas>
</div>
</body>
<script>
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(){
"use strict";
ctx.translate(r,r);
ctx.beginPath();
ctx.lineWidth = 10;
ctx.arc(0,0,r-5,0,2*Math.PI,false);
ctx.stroke();
}
drawBackground()
</script>
</html>
这是按你的代码基本一摸一样打的 我是可以出来的 你可以复制去试试 不行那就换浏览器 火狐或者chrome
司浩
js代码没有问题 看看你是不是HTML页面写错了 你可能忘记引入你这个JS了 还有IE9以下的不支持的哦
T3T哇呱
倒数第二句,0后面的分号打错了
纵使不如意丶但仍在坚持
你好,我刚刚做了一下,是正确的,可以画出圆
慕粉3954924
下面这句代码的意思是划出60个实心点啊:
ctx.arc(x,y,1,0,2*Math.PI,false); ctx.fill();
这里的半径是用于限定这60个圆点的大小的。
慕莱坞8065122
sublime 的jQuery插件啊
boysheep

希望能够解决你的问题。
书墨谈谈
应该整个圆盘的半径就是R 数字是r-10可能就没空间去显示了 可以多减去一点
qq_奇际号船长_03613499
sublime Text
SONG_S
浏览器问题,H5的canves本就很多不同--针对不同browser!
飘转
默认填充色是黑色,但是当执行第一次else后,就重置了fillStyle为灰色,如果在if中不重新设置下填充色,就会被一直是灰色
慕粉3978341
为了不让数字压到圆 !
啊啊啊3825077
qq_悄悄_0
number 是数组的元素,i 是当前遍历位置,是直接用的。
滴答滴滴答滴
forEach是js里对象的方法,和java里的没关系