canvas 实现时钟效果
var clock = document.getElementById('clock');
var cxt = clock.getContext('2d');
function drawClock(){
var now = new Date();
var sec = now.getSeconds();
var min = now.getMinutes();
var hour = now.getHours();
hour = hour + min/60;
hour = hour>12? hour-12: hour;
// 清除画布
cxt.clearRect(0, 0, 500, 500);
// 表盘
cxt.lineWidth = 10;
cxt.strokeStyle = 'blue';
cxt.beginPath();
cxt.arc(250, 250, 200, 0, 360, false);
cxt.closePath();
cxt.stroke();
// 刻度
for(var i=0; i<12; i++){
cxt.save();
cxt.lineWidth = 7;
cxt.strokeStyle = '#000';
cxt.translate(250, 250);
cxt.rotate(i * 30 * Math.PI/180);
cxt.beginPath(0, 0);
cxt.moveTo(0, -170);
cxt.lineTo(0, -190);
cxt.closePath();
cxt.stroke();
cxt.restore();
}
for(var i=0; i<60; i++){
cxt.save();
cxt.lineWidth = 5;
cxt.strokeStyle = '#000';
cxt.translate(250, 250);
cxt.rotate(i * 6 * Math.PI/180);
cxt.beginPath();
cxt.moveTo(0, -180);
cxt.lineTo(0, -190);
cxt.closePath();
cxt.stroke();
cxt.restore();
}
// 时针
cxt.save();
cxt.lineWidth = 7;
cxt.strokeStyle = '#000';
cxt.translate(250, 250);
cxt.rotate(30 * hour * Math.PI/180);
cxt.beginPath();
cxt.moveTo(0, -140);
cxt.lineTo(0, 10);
cxt.closePath();
cxt.stroke();
cxt.restore();
// 分针
cxt.save();
cxt.lineWidth = 5;
cxt.strokeStyle = '#000';
cxt.translate(250, 250);
cxt.rotate(6 * min * Math.PI/180);
cxt.beginPath();
cxt.moveTo(0, -160);
cxt.lineTo(0, 15);
cxt.closePath();
cxt.stroke();
cxt.restore();
// 秒针
cxt.save();
cxt.lineWidth = 3;
cxt.strokeStyle = 'red';
cxt.translate(250, 250);
cxt.rotate(6 * sec * Math.PI/180);
cxt.beginPath();
cxt.moveTo(0, -170);
cxt.lineTo(0, 20);
cxt.closePath();
cxt.stroke();
cxt.beginPath();
cxt.arc(0, 0, 6, 0, 360, false);
cxt.closePath();
cxt.fillStyle = 'gray';
cxt.fill();
cxt.stroke();
cxt.beginPath();
cxt.arc(0, -150, 5, 0, 360, false);
cxt.closePath();
cxt.fillStyle = 'gray';
cxt.fill();
cxt.stroke();
cxt.restore();
}
drawClock();
setInterval(drawClock, 1000);
canvas 实现时钟效果的更多相关文章
- canvas实现的时钟效果
最近在网上看到了一个css3实现的可爱时钟,觉得很nice,然后就想着用canvas试试实现这个时钟效果. 首先,要实现时钟需要先计算时钟上的数字应该占整个圆的大小. 因为一个圆是360度,所以数字之 ...
- 基于canvas的原生JS时钟效果
概述 运用html5新增画布canvas技术,绘制时钟效果,无需引用任何插件,纯js. 详细 代码下载:http://www.demodashi.com/demo/11935.html 给大家介绍一个 ...
- canvas时钟效果
话不多说,直接上代码 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/x ...
- vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
前言: 此事例是在vue组件中,使用canvas实现倒计时动画的效果.其实,实现效果的逻辑跟vue没有关系,只要读懂canvas如何实现效果的这部分逻辑就可以了 canvas动画的原理:利用定时器,给 ...
- 使用canvas绘制时钟
使用canvas绘制时钟 什么使canvas呢?HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.<canvas> 标签只是图 ...
- transform实现的时钟效果
又来一个时钟效果了,这个的实现不需要canvas,都是div.ul.li画出的,好玩有真实. 哈哈~ 需要的js才能实现到走动这个效果,但js的内容不多,也不难. 主要是一个css里transform ...
- canvas粒子时钟
前面的话 本文将使用canvas实现粒子时钟效果 效果展示 点阵数字 digit.js是一个三维数组,包含的是0到9以及冒号(digit[10])的二维点阵.每个数字的点阵表示是7*10大小的二维数组 ...
- HTML5 Canvas爱心时钟代码
这是一款数字时钟动画,数字又多个小爱心组成,又何问起整理,随着时间推进,每一秒钟新数字替换旧数字,旧数字离去使用天女散花动画,花是五颜六色的. 查看效果:http://hovertree.com/te ...
- 用canvas绘制时钟
用canvas做时钟其实很简单,下面是我做出的效果: 是不是还挺漂亮的? 下面上代码: html <div class="whole"> <canvas id=& ...
随机推荐
- php71
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng li ...
- as3.0拼图
package com{ import flash.display.MovieClip; import flash.events.MouseEvent; import flash.geom.Point ...
- 199. Binary Tree Right Side View (Tree, Stack)
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- RelativeLayout 相对布局
根据父容器来定位: 想位于哪,哪个属性就设置为true 左对齐:android:layout_alighParentLeft 右对齐:android:layout_alighParentRight 顶 ...
- RxJS之AsyncSubject
AsyncSubject 是另一个 Subject 变体,只有当 Observable 执行完成时(执行 complete()),它才会将执行的最后一个值发送给观察者. import { Compon ...
- iOS版本设置
Base SDK指的是当前编译所用的SDK 版本: iOS Deployment Target指的是,编译后的 app 可在 终端的哪个 版本上运行. 设置方法: 点击xcode工程左侧项目名称-&g ...
- 2 c++对象被使用前要先被初始化
虽然有些时候int x;会被初始化为0,但是也可能不会,这就造成随机初始值会影响我们程序的运行. 类成员变量初始化顺序是依照其声明顺序而来的.基类要早于派生类别初始化. 构造函数最好使用成员初值列: ...
- win8 IIS配置
iis发展到win8已经到是iis8.0了.至于如何安装的,咱们接下来看.大体和iis6安装差别不大.iis8安装起来也是很方便的. 1.打开“控制面板”——“程序和功能”.如下图所示 2.点击“启用 ...
- fastjson的常用方法
/** * 解析对象形式的json字符串 */ public static void test1() { String jsonStr = "{\"JACKIE_ZHANG\&qu ...
- go语言中结构struct
package main; import "fmt" //结构struct //定义Person结构 type Person struct { name string; age i ...