网上看到个时钟效果,感觉挺好看,转了来,具体通过html5画布技术实现的,效果图如下:

具体 html 代码:

html5 时钟效果

/**

* Created by Administrator on 2017/3/28 0028.

* source from siwuxie095

*/

var canvas = document.getElementById('dom');

var context = canvas.getContext('2d');

var height = context.canvas.height;

var width = context.canvas.width;

var r = width / 2;

var rem = width/200;

//时钟背景

function drawBackground() {

context.save();

context.translate(r, r);

context.beginPath();

context.lineWidth = 8*rem;

context.strokeStyle = "#000"

context.arc(0, 0, r - 5*rem, 0, 2 * Math.PI, false);

context.stroke();

context.closePath();

//遍历小时数

var houseNumble = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2];

houseNumble.forEach(function (number, i) {

context.textAlign = 'center';

context.textBaseline = 'middle'

context.font = 18*rem+'px Arial'

var rad = 2 * Math.PI / 12 * i;

var x = Math.cos(rad) * (r - 30*rem);

var y = Math.sin(rad) * (r - 30*rem);

context.fillText(number, x, y);

})

//定义刻度

for (var i = 0; i < 60; i++) {

var rad = 2 * Math.PI / 60 * i;

var x = Math.cos(rad) * (r - 18*rem);

var y = Math.sin(rad) * (r - 18*rem);

context.beginPath();

if (i % 5 == 0) {

context.fillStyle = "#000"

context.arc(x, y, 2*rem, 0, 2 * Math.PI);

} else {

context.fillStyle = "#ccc"

context.arc(x, y, 2*rem, 0, 2 * Math.PI);

}

context.fill();

context.closePath();

}

}

//定义时针

function drawHour(hour,minute) {

context.save();

context.beginPath();

context.lineWidth = 6*rem;

context.lineCap = 'round'

var rad = 2 * Math.PI / 12 * hour;

var mrad = 2* Math.PI/12/60 * minute;

context.rotate(rad+mrad);

context.moveTo(0, 10*rem);

context.lineTo(0, -r / 2);

context.stroke();

context.restore();

}

//定义分针

function drawMinute(minute) {

context.save();

context.beginPath();

context.lineWidth = 3*rem;

context.lineCap = 'round';

var rad = 2 * Math.PI / 60 * minute;

context.rotate(rad);

context.moveTo(0, 15*rem);

context.lineTo(0, -r + 34)

context.stroke();

context.restore();

}

//定义秒钟

function drawSecond(second) {

context.save();

context.beginPath();

context.lineWidth = 2*rem;

context.lineCap = 'round';

context.fillStyle = "red"

var rad = 2 * Math.PI / 60 * second;

context.rotate(rad);

context.moveTo(-2 ,20);

context.lineTo( 2, 20);

context.lineTo( 1, -r + 18);

context.lineTo( -1, -r + 18);

context.fill();

context.restore();

}

//画中心点

function drawDot() {

context.beginPath();

context.fillStyle = "#fff"

context.arc(0, 0, 4*rem, 0, 2 * Math.PI, false);

context.fill();

}

//时间函数,让时钟根据当前时间跳动

function Draw() {

context.clearRect(0,0,width,height);

var time= new Date();

var hour =time.getHours();

var minute = time.getMinutes();

var second = time.getSeconds();

drawBackground();

drawHour(hour,minute);

drawMinute(minute);

drawSecond(second);

drawDot();

context.restore()

}

Draw();

setInterval(Draw,1000);

php绘制时钟刻度,html5 画布时钟效果相关推荐

  1. html5绘制时钟刻度,html5 canvas 画的简易时钟

    时钟 //开始之前必须懂得时针各指针的弧度计算公式. var canvas,context; function window_onload(){ canvas = document.getElemen ...

  2. html5画布时钟cnsd,canvas动画时钟

    最近在学canvas,然后根据MDN上的例子做了个动画时钟(为什么要造个轮子,因为丑..) 这是MDN上的例子,怎么说呢,比较复古吧. 首先,找一张时钟的图片,就是下面这张了. --来自bigger ...

  3. html5画布时钟cnsd,天地图分省图源之作教程—-(山东-环保-征程)友情提供

    以下方法由(山东-环保-征程)友情提供 1.查找图源 (1)登录天地图山东首页(http://www.sdmap.gov.cn/index.html)→资源中心→影像地图→山东省影像地图[详细信息], ...

  4. html 绘制正方形,使用HTML5画布绘制正方形

    打开记事本写下以下代码: var square=a.getContext("2d");//这里通过square获取处理API的上下文contextsquare.beginPath( ...

  5. html5 画布绘制时钟

    用Html5实现时钟,包括转盘时钟和电子时钟,显示当前日期时间 绘制步骤: (1)先获取画布,设置画布的大小: (2)在js中获取画布对象,获取画布的画笔对象,设置画笔的一些属性: (3)获取系统当前 ...

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

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

  7. 表盘时针的html代码,html5画布操作的简单学习-简单时钟

    html5画布操作的简单学习-简单时针 效果图 一.什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. ...

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

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

  9. html制作圆盘时钟,jquery+html5制作超酷的圆盘时钟表

    自己封装的一个用HTML5+jQuery写的时钟表 代码: 超酷数码钟表 //引用的是在线jquery地址,如果不行请自行下载切换 (function($){ $.fn.drawClock = fun ...

最新文章

  1. Java Web开发API Boy如何进阶?
  2. Get Started with Service Metrics
  3. 成功解决RuntimeError: Selected KDE bandwidth is 0. Cannot estiamte density
  4. Python3的bytes/str之别
  5. 简单的C++线程类实现, windows平台
  6. JavaWeb工程师知识图谱
  7. Dubbo 框架设计与源码解读(配置解析优先级、线程分配、负载均衡、容错方案)
  8. idea中使用git直接提交本地写好的代码
  9. 05-BIO,NIO,AIO几种通讯模式的比较
  10. php 并发控制中的独占锁
  11. echart的x轴换行
  12. php在类里如何调用call_user_func_array《细说php2》
  13. vue中keep-alive缓存功能使用详解
  14. php 验证链接,PHP判断链接是否有效 的方法
  15. 信息论与编码冯桂周林著答案_信息论与编码(信息与通信工程高等学校电子信息类专业系列教材)...
  16. mysql查询成绩表中课程编号升序_数据库的常见题型--------------(查询)
  17. 港股交易最大手数是如何规定的?
  18. iOS生成gif图片
  19. 2048java设计报告_2048设计报告.doc
  20. Spring 教程(一)

热门文章

  1. 2017.10.27涩会题大乱斗部分题解
  2. vivo新系统鸿蒙,截胡华为鸿蒙系统!vivo霸气官宣新系统将登场:天生极致流畅...
  3. mount ntfs to centos5
  4. N76E003 学习一 点亮LED
  5. ThreadLocal之强、弱、软、虚引用
  6. 乡村少年宫计算机小组活动教案,小学少年宫兴趣小组烹饪教案
  7. 传统支付方式不能满足线下支付的需求
  8. 【​观察】得生态者得云天下 阿里、腾讯、浪潮、华为对决云计算2.0
  9. python与分形0000 - 分形世界
  10. 工信部通报下架60款APP:关联有赞、三六零、唯品会等上市公司