时钟效果图:

闲来无聊做了一个网页的时钟,效果模拟传统时钟的运行方式,
运用了html 的画布实现指针,背景图片引用了网络图片。
具体原理:
首先将时钟分为四个不同区域,对每个区域计算cos,sin 来确实指针顶点位置。在通过画布来绘画出指针。
通过setInterval 每秒刷新指针位置实现 传统机械表针的动态跳动。
本人是JS开发程序员,从业1年多。闲来无聊的简单页面,
欢迎大家提问,或者建议。共同进步
代码部分,直接复制HTML 文件中即可查看效果:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>clock</title>
</head>
<body style="color:green; <!--background-image:url('http://image.lxway.com/upload/b/f0/bf0d97dcee487096548e6edbc89d4963_thumb.png');--> background-size:100%; background-repeat: no-repeat; background-attachment:fixed">
<div style="width: 900px; height: 900px; margin-top: 50px; margin-left: 50px;">
<div style="position: absolute; left:119px;top: 193px; width: 900px; height: 900px; background-image:url('http://image.lxway.com/upload/b/f0/bf0d97dcee487096548e6edbc89d4963_thumb.png'); background-repeat: no-repeat; z-index: -1;">
</div>
<canvas id="t" width="800" height="800"></canvas>
<div style="position: absolute; left:118px;top: 464px; width: 100px; height: 200px; background-color: white; background-repeat: no-repeat; z-index: 10;">
</div>
</div>
<script language="javascript">
var s = setInterval(moveI, 1000);
function moveI() {
var c = document.getElementById("t");
var pc = c.getContext("2d");
c.height = c.height;
//秒
pc.lineWidth = 3;
pc.strokeStyle = 'rgba(255,0,0,0.8)';
var now = new Date();
var sindex = getxy(150, now.getSeconds());
pc.moveTo(400, 400);
pc.lineTo(sindex.x, sindex.y);
pc.stroke();
pc.beginPath();
//分
pc.lineWidth = 7;
pc.strokeStyle = 'rgba(50,50,50,0.8)';
var mindex = getxy(120, now.getMinutes() + (now.getSeconds() / 60));
pc.moveTo(400, 400);
pc.lineTo(mindex.x, mindex.y);
pc.stroke();
pc.beginPath();
//时
pc.lineWidth = 10;
pc.strokeStyle = 'rgba(0,0,0,0.8)';
var hindex = getxy(80, ((now.getHours() > 12 ? now.getHours() - 12 : now.getHours()) + (now.getMinutes() / 60)) * 5);
pc.moveTo(400, 400);
pc.lineTo(hindex.x, hindex.y);
pc.stroke();
};
function getxy(r, t) {
//计算分区 0,1,2,3
var a = parseInt(t / 15);
//分区角度
t = t - 15 * a;
var y;
var x;
//基于分区的坐标计算
switch (a) {
case 0:
y = r - (r * Math.cos(2 * Math.PI / 360 * 90 * (t / 15)));
x = r + (r * Math.sin(2 * Math.PI / 360 * 90 * (t / 15)));
break;
case 1:
y = r + (r * Math.sin(2 * Math.PI / 360 * 90 * (t / 15)));
x = r + (r * Math.cos(2 * Math.PI / 360 * 90 * (t / 15)));
break;
case 2:
y = r + (r * Math.cos(2 * Math.PI / 360 * 90 * (t / 15)));
x = r - (r * Math.sin(2 * Math.PI / 360 * 90 * (t / 15)));
break;
case 3:
y = r - (r * Math.sin(2 * Math.PI / 360 * 90 * (t / 15)));
x = r - (r * Math.cos(2 * Math.PI / 360 * 90 * (t / 15)));
break;
default:
break;
}
y = (400 - r) + y;
x = (400 - r) + x;
return {
'x': x,
'y': y
};
};
</script>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# JS
# html
# 时钟
# 五步轻松实现JavaScript HTML时钟效果
# JS+Canvas绘制动态时钟效果
# JavaScript之创意时钟项目(实例讲解)
# 一个简易时钟效果js实现代码
# 基于JavaScript实现数码时钟效果
# js实现一个简单的数字时钟效果
# JS实现简易刻度时钟示例代码
# js Canvas绘制圆形时钟效果
# JS+CSS实现滚动数字时钟效果
# 闲来
# 人是
# 欢迎大家
# 大家多多
# 运用了
# 共同进步
# 分为四个
# png
# bf0d97dcee487096548e6edbc89d4963_thumb
# green
# size
# body
# color
# http
# url
# image
# upload
# lxway
# background
# margin
相关文章:
建站之星如何配置系统实现高效建站?
如何高效完成自助建站业务培训?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
网站制作需要会哪些技术,建立一个网站要花费多少?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
建站主机无法访问?如何排查域名与服务器问题
常州企业建站如何选择最佳模板?
Python路径拼接规范_跨平台处理说明【指导】
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
如何在建站之星绑定自定义域名?
网站app免费制作软件,能免费看各大网站视频的手机app?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
如何有效防御Web建站篡改攻击?
如何在阿里云虚拟主机上快速搭建个人网站?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
网站制作网站,深圳做网站哪家比较好?
建站之星如何助力网站排名飙升?揭秘高效技巧
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何在Golang中引入测试模块_Golang测试包导入与使用实践
Swift中switch语句区间和元组模式匹配
如何选择可靠的免备案建站服务器?
如何制作网站标识牌,动态网站如何制作(教程)?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
建站之星导航菜单设置与功能模块配置全攻略
上海网站制作开发公司,上海买房比较好的网站有哪些?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
建站之星后台密码遗忘?如何快速找回?
如何用低价快速搭建高质量网站?
如何在Windows 2008云服务器安全搭建网站?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
如何在云主机上快速搭建网站?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
怎么将XML数据可视化 D3.js加载XML
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
山东云建站价格为何差异显著?
建站之星会员如何解锁更多建站功能?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
建站之星备案流程有哪些注意事项?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
如何选择服务器才能高效搭建专属网站?
微信推文制作网站有哪些,怎么做微信推文,急?
宁波自助建站系统如何快速打造专业企业网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。