JavaScript Canvas编写炫彩的网页时钟


Posted in Javascript onOctober 16, 2019

本文实例为大家分享了JavaScript Canvas编写炫彩网页时钟的具体代码,供大家参考,具体内容如下

只是利用了Canvas制作的。

示意图如下:

JavaScript Canvas编写炫彩的网页时钟

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv = "Content-Type" content = "text/html"; charsert = "utf-8" />
 <title> 网页时钟 </title>
</head>
<body>
 <h2> Web时钟 </h2>
 <canvas id = "hello" width = "400" height = "400"
 style = "border:1px solid black"> </canvas>
 <script languagetype = "text/javascript">
 var myCavas = document.getElementById('hello');
 var c = myCavas.getContext('2d');
 function clock() {
  c.clearRect(0, 0, 400, 400);
  //获取当前时间
  var data = new Date();
  //获取秒
  var sec = data.getSeconds();
  //获取分钟
  var min = data.getMinutes();
  //获取小时
  var hour = data.getHours();
  c.save();
  c.translate(200, 200);
  c.rotate(-Math.PI/2);
  //分针刻度线
  for (var i = 0; i < 60; i++) { //画60个刻度线
  c.beginPath();
  c.strokeStyle = "yellowgreen";
  c.lineWidth = 5;
  c.moveTo(117, 0);
  c.lineTo(120, 0);
  c.stroke();
  //每6deg画一个分钟刻度线
  c.rotate(Math.PI/30);
  c.closePath();
  }
  //时钟刻度线
  for (var i = 0; i < 12; i++) { //画60个刻度线
  c.beginPath();
  c.strokeStyle = "green";
  c.lineWidth = 8;
  c.moveTo(100, 0);
  c.lineTo(120, 0);
  c.stroke();
  //每6deg画一个分钟刻度线
  c.rotate(Math.PI/6);
  c.closePath();
  }
  //外表盘
  c.beginPath();
  c.strokeStyle = "pink";
  c.arc(0, 0, 145, 0, Math.PI*2);
  c.lineWidth = 12;
  c.stroke();
  c.closePath();
  //画时针
  hour = hour > 12 ? hour-12 : hour;
  //console.log(hour);
  c.beginPath();
  c.save();
  //设置旋转角度,参数是弧度,角度0-360 弧度角度*Math.PI/180
  c.rotate(Math.PI/6*hour + Math.PI/6*min/60 + Math.PI/6*sec/3600);
  c.strokeStyle = "yellowgreen";
  c.lineWidth = 4;
  c.moveTo(-20, 0);
  c.lineTo(50, 0);
  c.stroke();
  c.restore();
  c.closePath();
  //画分针
  //console.log(min);
  c.beginPath();
  c.save();
  c.rotate(Math.PI/30*min + Math.PI/30*sec/60);
  c.strokeStyle = "springgreen";
  c.lineWidth = 3;
  c.moveTo(-30, 0);
  c.lineTo(70, 0);
  c.stroke();
  c.restore();
  c.closePath();
  //画秒针
  c.beginPath();
  c.save();
  c.rotate(Math.PI/30*sec);
  c.strokeStyle = "red";
  c.lineWidth = 2;
  c.moveTo(-40, 0);
  c.lineTo(120, 0);
  c.stroke();
  c.restore();
  c.closePath();
  c.restore();
 }
 clock();
 setInterval(clock, 1000);
 </script>
</body>
</html>

更多JavaScript时钟特效点击查看:JavaScript时钟特效专题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript实现的网页局布刷新效果
Dec 01 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
Aug 09 Javascript
搭建pomelo 开发环境
Jun 24 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
Mar 07 Javascript
深入理解jQuery layui分页控件的使用
Aug 17 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
详解用vue.js和laravel实现微信授权登陆
Jun 23 Javascript
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
Vue下的国际化处理方法
Dec 18 Javascript
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
Node.js API详解之 readline模块用法详解
May 22 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
Oct 16 #Javascript
javascript实现点亮灯泡特效示例
Oct 15 #Javascript
vue-cli 为项目设置别名的方法
Oct 15 #Javascript
Vue 实现输入框新增搜索历史记录功能
Oct 15 #Javascript
Centos7 安装Node.js10以上版本的方法步骤
Oct 15 #Javascript
微信小程序如何实现五星评价功能
Oct 15 #Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 #Javascript
You might like
PHP下一个非常全面获取图象信息的函数
2008/11/20 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
Python中正则表达式的详细教程
2015/04/30 Python
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
django认证系统 Authentication使用详解
2019/07/22 Python
使用python实现滑动验证码功能
2019/08/05 Python
爱普生美国官网:Epson美国
2018/11/05 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
高三生物教学反思
2014/01/25 职场文书
执行总经理岗位职责
2014/02/03 职场文书
制作部班长职位说明书
2014/02/26 职场文书
单位工作证明书格式
2014/10/04 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫
什么是css原子化,有什么用?
2022/04/24 HTML / CSS