看到的一个html5写的时钟

<!doctype>
<html>
<head>
<script>
window.onload=function(){
var canvas=document.getElementById("myCanvas");
var c=canvas.getContext("2d");//getContenText 返回一个绘图的环境,其中2d是目前唯一合法的字符 指的是 var drawClock=function(){ c.clearRect(0,0,500,500);//清除画布, 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;//21:36:21 把24小时转12小时制 //表盘
c.lineWidth=10;
c.strokeStyle="blue";
c.beginPath();
c.arc(250,250,200,0,360,false);
c.closePath();
c.stroke(); //1.刻度 //1.1 时刻度
c.lineWidth=7;
c.strokeStyle="#000";
for(var i=0;i<12;i++){
c.save();
c.translate(250,250);
c.rotate(i*30*Math.PI/180);
c.beginPath();
c.moveTo(0,-170);
c.lineTo(0,-190);
c.closePath();
c.stroke();
c.restore();
} //1.2 分刻度
c.lineWidth=5;
c.strokeStyle="#000";
for(var i=0;i<60;i++){
c.save();
c.translate(250,250);
c.rotate(i*6*Math.PI/180);
c.beginPath();
c.moveTo(0,-170);
c.lineTo(0,-180);
c.closePath();
c.stroke();
c.restore();
} //2.1 时针
c.save();
c.lineWidth=7;
c.strokeStyle="#000";
c.translate(250,250);
c.rotate(hour*30*Math.PI/180);
c.beginPath();
c.moveTo(0,-100);
c.lineTo(0,10);
c.closePath();
c.stroke();
c.restore(); //2.2 分针
c.save();
c.lineWidth=5;
c.strokeStyle="#333";
c.translate(250,250);
c.rotate( min*6*Math.PI/180);
c.beginPath();
c.moveTo(0,-140);
c.lineTo(0,15);
c.closePath();
c.stroke();
c.restore(); //2.3 秒针
c.save();
c.lineWidth=2;
c.strokeStyle="red";
c.translate(250,250);
c.rotate(sec * 6 *Math.PI/180);
c.beginPath();
c.moveTo(0,-160);
c.lineTo(0,20);
c.closePath();
c.stroke();
//圆心加个圆圈
c.beginPath();
c.arc(0,0,5,0,360,false);
c.closePath();
c.fillStyle="green";
c.fill();
//在秒针前端加个圆点
c.beginPath();
c.arc(0,-140,10,0,360,false); c.closePath();
c.fillStyle="red";
c.fill();
c.restore(); //3 盘外时刻数字 for(var i=1;i<13;i++){
c.save();
c.lineWidth=5;
c.strokeStyle="blue";
c.font="40px 黑体";
c.translate(250,250);
c.rotate(i*30*Math.PI/180);
c.beginPath();
c.strokeText(""+i,-20,-210);
c.closePath();
c.stroke();
c.restore();
} }
drawClock();
setInterval(drawClock,1000);
}
</script>
</head>
<body>
<canvas width="500" height="500" id="myCanvas" style="background-color:yellow">
垃圾浏览器不支持canvas标签
</canvas>
</body>
</html>

效果图

html5写的一个时钟的更多相关文章

  1. 深夜,用canvas画一个时钟

    深夜,用canvas画一个时钟 查看demo 这几天准备阿里巴巴的笔试,可以说已经是心力交瘁,自从阿里和蘑菇街的内推被刷掉之后,开始越来越怀疑起自己的能力来,虽然这点打击应该是微不足道的.毕竟校招在刚 ...

  2. html5制作一个时钟

    试着用html5写一个时钟 记得开始这个随笔是几天前,一直保存在草稿里面,一直感觉有个东西搁在在那里,所以今天熬夜也要写完这篇博客!!!哈哈...不多说来上代码和思路. --------------- ...

  3. canvas写的一个小时钟demo

    <!DOCTYPE html> <html> <head> <title>HTML5 Canvas Demo of clock</title> ...

  4. 使用canvas绘制一个时钟

    周末学习canvas的一些基础功能,顺带写了一个基础的时钟.现在加工一下,做的更好看一点,先放上效果图: 谈一些自己的理解: (1).要绘制一个新的样式(不想被其他样式影响,或者影响到其他样式),那么 ...

  5. [译]终极塔防——运用HTML5从头创建一个塔防游戏

    翻译共享一篇CodeProject的高星力作,原文地址:http://www.codeproject.com/Articles/737238/Ultimate-Tower-Defense 下载演示项目 ...

  6. 通过H5的新标签canvas做出一个时钟的全过程,希望对初学者有帮助

    最近学习了H5中的一个新标签canvas并且用它做出了一个时钟,最下面是成品图像,还不错吧,这只是我学习中的一个小demo,做得有点粗糙,但终究是做出来了,以后再写自己的网页主页再做一个好看点放上去. ...

  7. 搞了我一下午竟然是web.config少写了一个点

    Safari手机版居然有个这么愚蠢的bug,浪费了我整个下午,使尽浑身解数,国内国外网站搜索解决方案,每一行代码读了又想想了又读如此不知道多少遍,想破脑袋也想不通到底哪里出了问题,结果竟然是web.c ...

  8. 用C3中的animation和transform写的一个模仿加载的时动画效果

    用用C3中的animation和transform写的一个模仿加载的时动画效果! 不多说直接上代码; html标签部分 <div class="wrap"> <h ...

  9. 写了一个常规性生成merge 的小脚本

    现在使用数据库来写存储过程,动不动参数就会用到xml ,当然罗,优势也很明显,参数相对固定,而且灵活,如果要修改或者什么的,中间接口层也不需要做变化,只需要修改封装的存储过程以及程序传参就ok了. 随 ...

随机推荐

  1. 【Android - 基础】之Animator属性动画

    1      概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 1)        逐帧动画的原理很简单,就是 ...

  2. javascript-智能社-笔记

    JavaScript是什么 JavaScript就是修改样式 编写JS的流程 布局:HTML+CSS 属性:确定要修改哪些属性 事件:确定用户做哪些操作(产品设计) 编写JS:在事件中,用JS来修改页 ...

  3. Minimum Size Subarray Sum -- leetcode

    题目描写叙述: Given an array of n positive integers and a positive integer s, find the minimal length of a ...

  4. [Webpack 2] Ensure all source files are included in test coverage reports with Webpack

    If you’re only instrumenting the files in your project that are under test then your code coverage r ...

  5. 操作系统-mac安装linux(Ubuntu)

    mac安装linux 安装linux,分为两步: 1. 制作linux启动U盘 2. 通过启动U盘,安装Ubuntu系统 Mac OS X下创建USB启动盘 格式化USB驱动盘 下载Ubuntu桌面版 ...

  6. Copy-On-Write技术 (摘录)

    Copy-On-Write技术     Copy-On-Write是写时才copy的意思,有延迟操作的意思在里面.比如往磁盘写数据,先写到的是内存里面,只有文件close或flush时才真正写到磁盘. ...

  7. 安卓数据存储(3):SQLite数据库存储

    SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级:使用 SQLit ...

  8. sdk 提示至少需要Build-tools 19.1.0以上的解决方式

    网上搜了很多办法,例如修改host文件或者设置sdk manager tool 为force方式都解决不了,最简单的方式是手动下载build-tools下的包,例如直接百度搜索build-tools ...

  9. c语言学习之基础知识点介绍(十五):函数的指针

    一.函数的指针的介绍 /* 函数指针: 函数的指针,本质上一个指针 指向函数的指针,就是一个函数指针. 回忆:我们写的源代码编译成二进制的指令集,一串交给CPU执行的指令 先存在内存里面,然后CPU读 ...

  10. 3.redis.3.2 下载,安装、配置、使用、集群主从创建 - 3

    当然,集群最主要的就是配置文件: 简单配置如下, port 7001 bind 127.0.0.1 databases 16 appendonly yes appendfilename "a ...