H TML5 之 (4) 小项目一 时钟

这里做一个HTML5 入门的练手,一个小时钟项目,可以再上面拓展很多,程序员培养的就是思想

<!DOCTYPE HTML>
<html>
<head>
<title>Click</title>
<style>
#clock{
 background:#abcdef;
}
</style>
</head>
<body>
<canvas id="clock" width="500" height="500" >
您的浏览器不支持标签,无法看到时钟
</canvas>
</body>
<script>
  var clock = document.getElementById("clock");
  var cxt = clock.getContext("2d");

  function drawCloclk(){

  cxt.clearRect(0,0,500,500);
  //获取时间对象
  var now = new Date();
  var sec = now.getSeconds();
  var min = now.getMinutes();
  var hours = now.getHours();
  //小时必须获取浮点类型
  hours = hours+min/60;
  //转换时间
  hours = hours >12?hours-12:hours;

  //表盘 蓝色
  cxt.lineWidth = 10;
  cxt.strokeStyle="blue";
  cxt.beginPath();
  cxt.arc(250,250,200,0,360,false);
  cxt.stroke();
  cxt.closePath();
  //刻度
  for(var i=0;i<12;i++){
     //开启异次元空间
      cxt.save();
      cxt.beginPath();
      cxt.lineWidth = 10;
      cxt.strokeStyle="#000";
      //设置原点
      cxt.translate(250,250);
      //设置旋转角度
      cxt.rotate(i*30*Math.PI/180);
      //画线
      cxt.moveTo(0,-170);
      cxt.lineTo(0,-190);
      cxt.stroke();
      cxt.closePath();
      cxt.restore();
  }
  //分刻度
    for(var i=0;i<60;i++){
     //开启异次元空间
      cxt.save();
      cxt.beginPath();
      cxt.lineWidth = 5;
      cxt.strokeStyle="#000";
      //设置原点
      cxt.translate(250,250);
      //设置旋转角度
      cxt.rotate(i*6*Math.PI/180);
      //画线
      cxt.moveTo(0,-180);
      cxt.lineTo(0,-190);
      cxt.stroke();
      cxt.closePath();
      cxt.restore();
  }
  //时针
       //开启异次元空间
      cxt.save();
      cxt.beginPath();
      cxt.lineWidth = 7;
      cxt.strokeStyle="#000";
      //设置原点
      cxt.translate(250,250);
      //设置旋转角度
      cxt.rotate(hours*30*Math.PI/180);
      //画线
      cxt.moveTo(0,-140);
      cxt.lineTo(0,10);
      cxt.stroke();
      cxt.closePath();
      cxt.restore();
  //分针
         //开启异次元空间
      cxt.save();
      cxt.beginPath();
      cxt.lineWidth = 5;
      cxt.strokeStyle="#000";
      //设置原点
      cxt.translate(250,250);
      //设置旋转角度
      cxt.rotate(min*6*Math.PI/180);
      //画线
      cxt.moveTo(0,-160);
      cxt.lineTo(0,15);
      cxt.stroke();
      cxt.closePath();
      cxt.restore();
  //秒针
           //开启异次元空间
      cxt.save();
      cxt.beginPath();
      cxt.lineWidth = 3;
      cxt.strokeStyle="red";
      //设置原点
      cxt.translate(250,250);
      //设置旋转角度
      cxt.rotate(sec*6*Math.PI/180);
      //画线
      cxt.moveTo(0,-170);
      cxt.lineTo(0,20);
      cxt.closePath();
      cxt.stroke();
      cxt.beginPath();
      //画交叉点
      cxt.arc(0,0,5,0,360,false)
      cxt.closePath();
      cxt.fillstyle = "blue";
      cxt.fill();
      cxt.stroke();
            cxt.beginPath();
      //画交叉点
      cxt.arc(0,-150,5,0,360,false)
      cxt.closePath();
      cxt.fillstyle = "blue";
      cxt.fill();
      cxt.stroke();
      cxt.restore();
      }
      //使用周期循环函数setInternal(代码,时间),让时钟动起来
      drawCloclk;
      setInterval(drawCloclk,1000);
 </script>
</html>

H TML5 之 (4) 小项目一 时钟,布布扣,bubuko.com

时间: 2024-08-03 08:52:31

H TML5 之 (4) 小项目一 时钟的相关文章

IOS-小项目(饿了么 网络部分 简单实现)

在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是实打实的网络连接.看一下文件架构. 这一采用的是MVC设计模式,虽然文件很少,但是也可以看. 下面开始正式介绍小项目的实现. 首先介绍Model的实现,很简单,实现模型即可, Shop.h // // Shop.h // CX-小项目(饿了么 网络部分 简单实现) // // Created by

模拟XShell的小项目

不知道大家有没有用过XShell这款工具,这款工具通过windows可以远程操作处于开机状态的linux操作系统,也就是说把你的电脑和一台服务器连入网络,你通过输入服务器所在的IP地址建立一个会话就可以远端操作linux的服务器了,十分方便. 这次这个模拟XShell的小项目就是类似的功能 执行流程: windows客户端输入命令,通过网络传输到linux服务器端上,linux服务器端执行命令,将执行命令产生的结果保存进文件,然后再将文件传输回windows客户端进行展示. 问题思考:真的有必要

H TML5 之 (3)转动的圆球

HTML5 练手之二,一个能够为之圆心转动的圆球,原理和时钟的非常像,只是要把握转动的时间控制,同时加入了点渐变色 HTML5 练手之二,一个能够为之圆心转动的圆球,原理和时钟的非常像,只是要把握转动的时间控制,同时加入了点渐变色 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Sun</title> 5 <style> 6 #sun{ 7 background:black; 8 } 9 &l

小项目特供 贪吃蛇游戏(基于C语言)

C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第二天写了第二版和第三版. 相信C语言写个小游戏或小项目是大多数计算机相关专业的学生都做的事情,但是作为一个数学专业的学生,我们教研室的老师对C语言的要求也就比较低了,大一没有让我们做个小项目实践一次.至今为止用C/C++做过的三个小项目(大作业),一个是外校同学让我帮忙写的学生信息管理系统(天呐,这

Android小项目蓝牙电子钟

Android小项目蓝牙电子钟 请支持原创,尊重原创,转载请注明出处:http://blog.csdn.net/kangweijian(来自kangweijian的csdn博客) Android蓝牙电子钟应用程序通过蓝牙设备发送消息给多功能数字电子钟,实现更新电子钟时间.设定电子钟监控时间.设定电子钟闹钟时间和调整电子钟时间误差等功能. 该应用程序的UI主要基于http://blog.csdn.net/kangweijian/article/details/43404801. 本章主要讲解蓝牙设

【PHP小项目使用MVC架构】

小项目名称是雇员管理系统. mvc是一种项目的开发模式,中文名称为模式视图控制器,是强制程序员将数据的输入.处理.输出分开的一种开发模式. 在这个小项目中,控制器使用service作为后缀名. 项目uml图解概述: 在此之前,需要先创建数据库empmanage,同时创建两张表,一张表为admin,令一张表为emp,创建admin表的sql语句: create table admin ( id int primary key, name varchar(32) not null, password

web实践小项目&lt;一&gt;:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进行整理,希望能给其他初学者提供参考,也希望有大神在浏览我粗糙的开发过程中能指出一些意见或建议. (阅读以下内容需要有一定的html/css,javascript,python和sql基础,and谢谢阅读!) 注:实践中的环境为ubuntu 14.04操作系统,python3.4(2.7实测也可行),

H TML5 之 (2) 小试牛刀

基本的HTML都认识到了,就开始运用下了,大的程序的开始,都是从一个一个表达式慢慢的堆积起来的 想开始玩HTML5,就开始理解,它所提供的画布函数各有什么作用,API的具体使用,才能完成自己想要完成的理想游戏 首先我们理解HTML5D的坐标系 HTML5的坐标系和我们现实中数学的坐标系大同可是小异,那就是数学中的Y轴的负方向是浏览器中HTML5画布的正反向,因此你浏览器的 左上角其实就是0,0 H TML5 之 (2) 小试牛刀,布布扣,bubuko.com

Swift税率计算小项目

今天按照raywenferlich上面的一篇Swift教程敲了一下Swift的代码,基本熟悉了Swift的语法和Objective-c的区别,当然要熟悉这个语言还要下很多的功夫和时间的,整体来说Swift的上手还是比较快的,这个语言的语法也蛮简洁的,精炼,苹果自家的语言的,也确实蛮有苹果自己的一些风格的. 以前的Objective-c语言,会有两个文件,分别是.h和.m文件,而Swift只有一个文件的,这个小项目也是先创建一个modl,然后在viewController中把view和model关