当前位置:网站首页>钟表刻度线
钟表刻度线
2022-08-02 03:22:00 【cjx177187】
钟表
思路:
- 画一个圆
- 给圆上画上刻度线
- 将圆划分为60分,每份上画出线
- 利用if判断每五个将线条延长,当作小时的刻度
- 利用计时器画出时针,分针,秒针
<body>
<style>
#box {
border: 1px solid black;
}
</style>
<canvas id="box" width="600" height="600"></canvas>
<script>
var canvas = document.querySelector("#box")
var pen = canvas.getContext("2d")
var deg = Math.PI / 180
var x = 300
var y = 300
var r = 150
//钟表框
function construction() {
pen.beginPath()
pen.arc(y, x, r, 0 * deg, 360 * deg)
for (let i = 0; i < 60; i++) {
var x1 = r * Math.cos(6 * deg * i) + x
var y1 = r * Math.sin(6 * deg * i) + y
if (i % 5 == 0) {
a = 20
} else {
a = 10
}
var x2 = (r - a) * Math.cos(6 * deg * i) + x
var y2 = (r - a) * Math.sin(6 * deg * i) + y
pen.moveTo(x1, y1)
pen.lineTo(x2, y2)
}
pen.stroke()
}
//秒针
function seconds() {
pen.beginPath(300, 300)
pen.moveTo(300, 300)
var time = new Date().getSeconds()
var x3 = 130 * Math.cos(((6 * time) -90) * deg) + x
var y3 = 130 * Math.sin(((6 * time) -90) * deg) + y
pen.lineTo(x3, y3)
pen.stroke()
}
//时针
function hours() {
pen.beginPath(300, 300)
pen.moveTo(300, 300)
var time = new Date().getHours()
var x4 =60 * Math.cos(((120 * time)+90) * deg) + x
var y4 =60 * Math.sin(((120 * time)+90) * deg) + y
pen.lineTo(x4, y4)
pen.stroke()
}
//分针
function minutes() {
pen.beginPath(300, 300)
pen.moveTo(300, 300)
var time = new Date().getMinutes()
var x5 = 90 * Math.cos(((10 * time)-90) * deg) + x
var y5 = 90 * Math.sin(((10 * time)-90) * deg) + y
pen.lineTo(x5, y5)
pen.stroke()
}
//计时器运转秒针
setInterval(function () {
canvas.width = 600
seconds()
hours()
minutes()
construction()
}, 1000)
</script>
边栏推荐
猜你喜欢

啃瓜记录第一天

Week 7 Review

MySQL分区表详解

Cloud server installation and deployment of Nacos 2.0.4 version

Deveco studio Hongmeng app access network detailed process (js)

oracle inner join and outer join

Debian 10 NTP Service Configuration

Knowledge Engineering Assignment 2: Introduction to Knowledge Engineering Related Fields

通过PS 2021 将网页图标抠下来

querystring模块
随机推荐
MySQL分组后取最大一条数据【最优解】
parser = argparse.ArgumentParser() parsing
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boo
语义分割标签即像素值的巨坑,transforms.ToTensor()的错误使用
利用 nucleo stm32 f767zi 进行USART+DMA+PWM输入模式 CUBE配置
ssm various configuration templates
磷脂-聚乙二醇-巯基,DSPE-PEG-Thiol,DSPE-PEG-SH,MW:5000
Week 7 Review
配置mmdet来训练Swin-Transformer之一配置环境
subprocess.CalledProcessError: Command 'pip install 'thop'' returned non-zero exit status 1.
Error in render: “TypeError: Cannot read properties of null (reading ‘0‘)“ 报错解决方案
MySQL占用CPU过高,排查原因及解决的多种方式法
DSPE-PEG-Silane,DSPE-PEG-SIL,磷脂-聚乙二醇-硅烷修饰活性基团
DSPE-PEG-Silane, DSPE-PEG-SIL, phospholipid-polyethylene glycol-silane modified active group
yolov5调用ip摄像头时出现的问题
【装机】老毛桃的安装及使用
np.isnan()
mysql中如何查看表是否被锁
DSPE-PEG-DBCO 磷脂-聚乙二醇-二苯并环辛炔 一种线性杂双官能聚乙二醇化试剂
Basic usage of Monaco Editor