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 相关文章推荐
window.location.hash 使用说明
Nov 08 Javascript
js模拟select下拉菜单控件的代码
May 08 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
Jan 13 Javascript
JavaScript实现横向滑出的多级菜单效果
Oct 09 Javascript
异步加载JS、CSS代码(推荐)
Jun 15 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
Oct 08 Javascript
微信小程序Redux绑定实例详解
Jun 07 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 jQuery
浅谈vue引入css,less遇到的坑和解决方法
Jan 20 Javascript
JS实现的简单分页功能示例
Aug 23 Javascript
vue 项目build错误异常的解决方法
Apr 22 Javascript
一百多行代码实现react拖拽hooks
Mar 23 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下打开URL地址的几种方法小结
2010/05/16 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
2018/06/19 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
Python 读取位于包中的数据文件
2020/08/07 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
奥巴马演讲稿
2014/01/08 职场文书
会务接待方案
2014/02/27 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
抵押贷款承诺书
2014/05/30 职场文书
务虚会发言材料
2014/12/25 职场文书
恰同学少年观后感
2015/06/08 职场文书
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js