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 相关文章推荐
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
常用Extjs工具:Extjs.util.Format使用方法
Mar 22 Javascript
jQuery多个input求和的实现方法
Feb 12 Javascript
jQuery计算文本框字数及限制文本框字数的方法
Mar 01 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
Jul 09 Javascript
JS+CSS实现下拉刷新/上拉加载插件
Mar 31 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 Javascript
AngularJS 中的数据源的循环输出
Oct 12 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
Nov 08 Javascript
vue实现微信分享功能
Nov 28 Javascript
vue 表单之通过v-model绑定单选按钮radio
May 13 Javascript
Nuxt页面级缓存的实现
Mar 09 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
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
PHP实现简单的计算器
2020/08/28 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
Python中的列表知识点汇总
2015/04/14 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
python做反被爬保护的方法
2019/07/01 Python
Python selenium自动化测试模型图解
2020/04/15 Python
Python csv文件记录流程代码解析
2020/07/16 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
电大自我鉴定
2013/10/27 职场文书
老师推荐信
2013/10/28 职场文书
银行实习鉴定
2013/12/13 职场文书
考试退步检讨书
2014/01/15 职场文书
高中生职业规划范文
2014/03/09 职场文书
淘宝好评语大全
2014/05/05 职场文书
师德师风学习材料
2014/12/19 职场文书
英文版辞职信
2015/02/28 职场文书
员工福利申请报告
2015/05/15 职场文书
Nginx HTTP跳转至HTTPS
2022/05/15 Servers