一个简易时钟效果js实现代码


Posted in Javascript onMarch 25, 2020

本文实例为大家分享了js时钟特效 的具体代码,供大家参考,具体内容如下

一个简易时钟效果js实现代码

js代码

var canvas = document.getElementById("clock");
var clock = canvas.getContext("2d");
 
function zhong() {
 clock.save();
 //开始画外层圆
 clock.translate(200, 200);
 clock.strokeStyle = 'black';
 clock.lineWidth = 3;
 clock.beginPath();
 clock.arc(0, 0, 195, 0, 2 * Math.PI);
 clock.stroke();

 //时钟上的数字
 var shuzi = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2];
 clock.font = "30px Arial";
 clock.textAlign = "center";
 clock.textBaseline = "middle";
 shuzi.forEach(function(number, i) {
 var rad = 2 * Math.PI / 12 * i;
 var x = Math.cos(rad) * 180;
 var y = Math.sin(rad) * 180;
 clock.fillText(number, x, y);
 });

 // 小圆点

 for(j = 0; j < 60; j++) {
 var h = 2 * Math.PI / 60 * j;
 var m = Math.cos(h) * 180;
 var n = Math.sin(h) * 180;
 clock.fillStyle = 'black';
 clock.beginPath();
 if(j % 5 === 0) {
 continue;
 }
 clock.arc(m, n, 3, 0, 2 * Math.PI);
 clock.fill();
 }
}
function drawHour(hour,min) {
 clock.save();
 var rad = 2 * Math.PI / 12 * hour;
 var red = 2 *Math.PI/12/60*min;
 clock.rotate(rad+red);
 clock.lineWidth = 10;
 clock.lineCap = "round";
 clock.beginPath();
 clock.moveTo(0, 5);
 clock.lineTo(0, -100);
 clock.stroke();
 clock.restore();
}

function drawmin(min) {
 clock.save();
 var rad = 2 * Math.PI / 60 * min;
 clock.rotate(rad);
 clock.lineWidth = 5;
 clock.lineCap = "round";
 clock.beginPath();
 clock.moveTo(0, 10);
 clock.lineTo(0, -150);
 clock.stroke();
 clock.restore();
}

function drawsec(sec) {
 clock.save();
 var rad = 2 * Math.PI / 60 * sec;
 clock.rotate(rad);
 clock.lineWidth = 2;
 clock.lineCap = "round";
 clock.strokeStyle = "red";
 clock.beginPath();
 clock.moveTo(0, 10);
 clock.lineTo(0, -180);
 clock.stroke();
 clock.restore();
}

function dian() {
 clock.fillStyle = "white";
 clock.beginPath();
 clock.arc(0, 0, 2, 0, 2 * Math.PI);
 clock.fill();
}

function xuanzhuan() {
 clock.clearRect(0,0,400,400);
 zhong();
 var now = new Date();
 var hour = now.getHours();
 var min = now.getMinutes();
 var sec = now.getSeconds();
 drawHour(hour,min);
 drawmin(min);
 drawsec(sec);
 dian();
 clock.restore();
}
xuanzhuan();

setInterval(xuanzhuan, 1000);

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

Javascript 相关文章推荐
彪哥1.1(智能表格)提供下载
Sep 07 Javascript
javascript 学习之旅 (2)
Feb 05 Javascript
JS动态获取当前时间,并写到特定的区域
May 03 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
Aug 19 Javascript
jquery遍历标签中自定义的属性方法
Sep 17 Javascript
微信小程序 自定义消息提示框
Aug 06 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
May 26 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
Aug 14 Javascript
JS中循环遍历数组的四种方式总结
Jan 23 Javascript
微信小程序实现页面跳转传值的方法
Oct 12 #Javascript
微信小程序 页面滑动事件的实例详解
Oct 12 #Javascript
微信小程序 动画的简单实例
Oct 12 #Javascript
node通过npm写一个cli命令行工具
Oct 12 #Javascript
JS实现自定义状态栏动画文字效果示例
Oct 12 #Javascript
AngularJS实现表单验证功能详解
Oct 12 #Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
Oct 12 #Javascript
You might like
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
客户端静态页面玩分页
2006/06/26 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
vue.js的安装方法
2017/05/12 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
python中xlutils库用法浅析
2020/12/29 Python
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
政法大学毕业生自荐信范文
2014/01/01 职场文书
大学生毕业的自我评价分享
2014/01/02 职场文书
小学生安全保证书
2014/02/01 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
学校招生宣传广告词
2014/03/19 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
买房协议书
2014/04/11 职场文书
政风行风建设责任书
2014/07/23 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
新员工辞职信范文
2015/05/12 职场文书