全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS html时钟制作代码分享

时钟效果图:


闲来无聊做了一个网页的时钟,效果模拟传统时钟的运行方式,

运用了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小时内与您取得联系。