效果图:

代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas clock</title>
</head>
<body>
<canvas id="clock" width="500" height="500">您的浏览器不支持canvas标签</canvas><script type="text/javascript">
var canvas = document.getElementById('clock');
var clock = canvas.getContext('2d');
var r = canvas.width/2.5;  //半径
function drowClock(){//清除画布
clock.clearRect(0, 0, 800, 800);var now = new Date();var secd = now.getSeconds();var min = now.getMinutes();var hour = now.getHours();//小时必须获取浮点类型(小时+分数转化的小时)//时间格式19:23:30//将24小时进制装换为12小时进制
    hour = hour + (min / 60);hour = hour > 12 ? hour - 12 : hour;//外圈
    clock.beginPath();clock.lineWidth = 10;clock.strokeStyle = "#d9d9d9";clock.arc(250, 250, 200, 0, 360, false);clock.stroke();clock.closePath();//刻度//时刻度for (var i = 0; i < 12; i++) {clock.save();//设置时针的粗细
        clock.lineWidth = 7;//设置时针的颜色
        clock.strokeStyle = "#727272";//先设置0,0点
        clock.translate(250, 250);//再设置旋转角度
        clock.rotate((i * 30) * Math.PI / 180);//角度*Math.PI/180=弧度
        clock.beginPath();clock.moveTo(0, -170);clock.lineTo(0, -190);clock.closePath();clock.stroke();clock.restore();}//分刻度for (var i = 0; i < 60; i++) {clock.save();//设置时针的粗细
        clock.lineWidth = 3;//设置时针的颜色
        clock.strokeStyle = "#727272";//先设置0,0点
        clock.translate(250, 250);//再设置旋转角度
        clock.rotate((i * 6) * Math.PI / 180);//角度*Math.PI/180=弧度
        clock.beginPath();clock.moveTo(0, -180);clock.lineTo(0, -190);clock.closePath();clock.stroke();clock.restore();}//时针
    clock.save();clock.lineWidth = 7;clock.strokeStyle = "#727272";clock.translate(250, 250);clock.rotate(hour * 30 * Math.PI / 180);clock.beginPath();clock.moveTo(0, -140);clock.lineTo(0, 30);clock.stroke();clock.closePath();clock.restore();// 文字for(i = 0;i<12;i++){angle = i * 30;// 转换为弧度制,Math.sin、Math.cos都接受弧度制单位
            angle = angle*Math.PI/180;;
            font = (i + 3 > 12)?i+3-12 : i+3;fontX = 245+Math.round(Math.cos(angle)*(r-45));fontY = 256+Math.round(Math.sin(angle)*(r-45));clock.font = 'bold 16px 微软雅黑';clock.fillText(font+'',fontX,fontY);}//分针
    clock.save();clock.lineWidth = 5;clock.strokeStyle = "#727272";clock.translate(250, 250);clock.rotate(min * 6 * Math.PI / 180);clock.beginPath();clock.moveTo(0, -160);clock.lineTo(0, 30);clock.stroke();clock.closePath();clock.restore();//秒针
    clock.save();clock.lineWidth = 3;clock.strokeStyle = "#727272";clock.translate(250, 250);clock.rotate(secd * 6 * Math.PI / 180);clock.beginPath();clock.moveTo(0, -170);clock.lineTo(0, 30);clock.closePath();clock.stroke();//画交叉点
    clock.beginPath();clock.arc(0, 0, 5, 0, 360, false);clock.closePath();clock.fillStyle = "#ebebeb";clock.fill();clock.stroke();clock.beginPath();clock.arc(0, -150, 5, 0, 360, false);clock.closePath();clock.fillStyle = "gray";clock.fill();clock.stroke();clock.restore();window.requestAnimationFrame(drowClock);
}
//使用setInternal(代码,(毫秒)时间)  让时钟动起来
drowClock();
// setInterval(drowClock, 1000);
</script>
</body>
</html>

转载于:https://www.cnblogs.com/CaktyRiven/p/5287791.html

html5、canvas绘制本地时钟相关推荐

  1. html5时间画布走动,javascript+HTML5 canvas绘制时钟功能示例

    本文实例讲述了javascript+HTML5 canvas绘制时钟功能.分享给大家供大家参考,具体如下: 效果如下: 代码: www.jb51.net canvas绘制时钟 div{text-ali ...

  2. html5canvas绘制时钟,JavaScript html5 canvas绘制时钟效果

    本文实例讲述了JavaScript+html5 canvas绘制时钟效果.分享给大家供大家参考,具体如下: HTML部分: canvas绘图 JavaScript部分: function init() ...

  3. Canvas绘制一个时钟

    Canvas绘制一个时钟 Canvas:一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素.它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处 ...

  4. HTML画正方形钟表,html5 canvas绘制时钟表时间

    特效描述:html5 canvas绘制 时钟表时间.用canvas精灵绘制器绘制的时钟 代码结构 1. 引入JS 2. HTML代码 var Sprite=function(name,painter, ...

  5. java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片

    [Java教程][HTML5] Canvas绘制简单图片 0 2016-05-13 13:00:04 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象 ...

  6. html5 canvas绘制圆形进度实例

    2019独角兽企业重金招聘Python工程师标准>>> html5 canvas绘制圆形进度实例 <canvas id="test" width=200 h ...

  7. html 画动画效果,html5 canvas绘制曲线动画特效

    特效描述:html5 canvas绘制 曲线动画特效. 代码结构 1. HTML代码 Balls Size Speed Delay Go! Presets: Atomic Flower Spiro Y ...

  8. 用html5做一条线,使用HTML5 canvas绘制线条的方法

    使用HTML5 canvas绘制线条的方法 发布时间:2020-08-29 11:24:23 来源:亿速云 阅读:96 作者:小新 这篇文章主要介绍了使用HTML5 canvas绘制线条的方法,具有一 ...

  9. 使用 HTML5 Canvas 绘制出惊艳的水滴效果

    HTML5 在不久前正式成为推荐标准,标志着全新的 Web 时代已经来临.在众多 HTML5 特性中,Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作 ...

最新文章

  1. 强烈推荐10个新媒体运营必备工具,极大提高工作效率
  2. 既可输入又可选择的组件
  3. 即时通讯音视频开发(八):常见的实时语音通讯编码标准
  4. Request和Response-学习笔记01【Request_原理和继承体系、Request_获取请求数据】
  5. JEEWX捷微企业号管家系统发布
  6. 环形单链表的约瑟夫问题
  7. velocity java 静态方法_java – 如何访问Velocity模板中的静态成员?
  8. ES6 深拷贝_JS基本数据类型和引用数据类型的区别及深浅拷贝
  9. python免费教程发布页
  10. 董路:当“边缘人”来到舞台中央
  11. shell script简介
  12. 全球首家 MUJI 酒店,这里有一份事无巨细的探店体验
  13. ADGUARD——去除广告利器
  14. 无需翻墙使用ChatGPT-4
  15. 一个有趣的博弈或推理游戏——除数博弈(动态规划与归纳法)
  16. 基于服务器搭建部署的疫情动态地图
  17. C语言中static与extern用法总结
  18. Redis 如何实现附近的人
  19. 安卓手机游戏《英雄迷宫冒险》存档修改
  20. 点滴时间读完《十亿消费者》

热门文章

  1. 网站页面内链如何布局才更有利于SEO?
  2. 网站建设难?三个技巧来帮你!
  3. Android性能优化面试题,与性能优化相关面试题 - 与IPC机制相关面试题 - 《Android面试宝典》 - 书栈网 · BookStack...
  4. 陕西宝鸡2021年高考成绩查询,2021年宝鸡网上查询中考成绩
  5. 开发日记-20190910 Makefile相关(一)
  6. 开发日记-20190821 关键词 读书笔记《掌控习惯》DAY 1
  7. NoSQL生态系统——hash分片和范围分片两种分片
  8. mysql 避免使用NULL字段
  9. 解决导入第三方图片JS出现403问题
  10. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...