广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript实现时钟功能
  • 226
分享到

JavaScript实现时钟功能

2024-04-02 19:04:59 226人浏览 独家记忆
摘要

本文实例为大家分享了javascript实现时钟功能的具体代码,供大家参考,具体内容如下 1、html和CSS部分 1.1 HTML部分 1.1.1先放在一个容器中clock,存放

本文实例为大家分享了javascript实现时钟功能的具体代码,供大家参考,具体内容如下

1、htmlCSS部分

1.1 HTML部分

1.1.1先放在一个容器中clock,存放 用来存放时针、分钟、秒钟的容器

<div class = "clock"></div>

1.1.2 用来存放时针、分钟、秒钟的容器

<div class="clock">
  <div class="clock-face"></div>
</div>

1.1.3 各个时针、分针、秒钟的容器

<div class="clock">
  <div class="clock-face">
    <div class="hand hour-hand"></div>
    <div class="hand min-hand"></div>
    <div class="hand second-hand"></div>
  </div>
</div>

1.2 CSS部分

1.2.1 背景、布局

html {
    background: #018DED url(https://unsplash.it/1500/1000?image=881&blur=5);
    background-size: cover;
    font-family: 'helvetica neue';
    text-align: center;
    font-size: 10px;
}

body {
    margin: 0;
    font-size: 2rem;
    display: flex;
    flex: 1;
    min-height: 100vh;
    align-items: center;
}

1.2.2 设置时钟的外圆边框

.clock{
    width:30rem;
    height:30rem;
    border:20px solid white;
    border-radius:50%;
    margin:50px auto;
    position:relative;
    padding:2rem;
    box-shadow:
            0 0 0 4px rgba(0,0,0,0.1),
            inset 0 0 0 3px #EFEFEF,
            inset 0 0 10px black,
            0 0 10px rgba(0,0,0,0.2);
}

1.2.3 设置存放时分秒的容器

.clock-face{
    position:relative;
    width:100%;
    height:100%;
    transfORM:translateY(-3px);
}

.clock-face:after{
    content:'';
    width:30px;
    height:30px;
    border-radius:100%;
    background-color:white;
    display:block;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    position:absolute;
}

1.2.4设置时分秒对应的容器

.hand{
    position:absolution;
    width:100%;
    height: 100%;
}

.second-hand:after{
    content: '';
    display: block;
    width: 5px;
    height: 50%;
    background-color: black;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%,0%);
    position: absolute;
  }

  .min-hand:after{
    content: '';
    display: block;
    width: 10px;
    height: 40%;
    background-color: gray;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%,0%);
    position: absolute;
  }

  .hour-hand:after{
    content: '';
    display: block;
    width: 15px;
    height: 20%;
    background-color: white;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%,0%);
    position: absolute;
  }

transform布局的方式

2、 js部分(IIFE立即函式,不会外露)

(1)首先要实现的是获取当前的时间和针
(2)设置时间的转动

2.1 先获取每个针

let second = document.querySelector('.second-hand');
let min = document.querySelector('.min-hand');
let hour = document.querySelector('.hour-hand');

2.2 时针的指向

2.2.1 获取当前的时间

function setDate(){
    //首先先获取时间,用Data()
    let data = new Data();
}

2.2.2 让上面获取的指针等于Data()的时间

1.这里要使用到transform:rotate()函数,获得要转动的角度。

second.style.transform = `rotate(数字/变量+Deg)`;
min.style.transform = `rotate(数字/变量+Deg)`;
hour.style.transform = `rotate(数字/变量+Deg)`;

2.由于当前时间的时分秒还没有获取,所以要先获取当前时分秒的时间,当成变量赋值给rotate函数

let secondDeg = data.getSeconds();
let minDeg = data.getMinutes();
let hourDeg = data.getHours();

3.由于rotate需要获得的是角度而不是时间,所以你需要分别计算出时分秒走动一次需要多少的角度。

let secondDeg = data.getSeconds() * 6;
let minDeg = data.getMinutes() * 6;
let hourDeg = data.getHours() *30;

4.完整的赋值

let second = document.querySelector('.second-hand')
let min = document.querySelector('.min-hand')
let hour = document.querySelector('.hour-hand')

function setClock(){
  let data = new Date();

  let secondDeg = data.getSeconds() * 6 // (deg = 360/60)
  let minDeg = data.getMinutes() * 6 // (deg = 360/60)
  let hourDeg = data.getHours() * 30 // (deg = 360/12)

  second.style.transform = `rotate(${secondDeg}deg)`
  min.style.transform = `rotate(${minDeg}deg)`
  hour.style.transform = `rotate(${hourDeg}deg)`

}

setClock();

2.2 设置计时器让他们走动



setInterval(setDate, 1000); //设定间隔,执行很多次



2.3 发现问题

发现分针和时针会等到秒钟走完一圈后才移动一个,我们应该让他缓慢的移动,所以需要在时分后面算上分秒的角度

*一分钟走60秒,而分针走一小格的角度是6°,所以一度走几秒算出来,单位是度/秒。最后乘以时间,所以单位是度/秒 秒 = 度。

let secondDeg = data.getSeconds() * 6; //(360/60)
let minDeg = data.getMinutes() * 6 + data.getSeconds() *6/60; //(360/60)
let hourDeg = data.getHours() * 30 + data.getMinutes() * 30/60;//(360/12)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JavaScript实现时钟功能

本文链接: https://www.lsjlt.com/news/152142.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript实现时钟功能
    本文实例为大家分享了JavaScript实现时钟功能的具体代码,供大家参考,具体内容如下 1、HTML和CSS部分 1.1 HTML部分 1.1.1先放在一个容器中clock,存放 ...
    99+
    2022-11-13
  • javascript如何实现网页在线时钟功能
    本篇内容介绍了“javascript如何实现网页在线时钟功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2022-10-19
  • js实现电子时钟功能
    电子时钟是网上常见的功能,在学习date对象和定时器功能时,来完成一个电子时钟的制作是不错的选择。学习本教程之前,读者需要具备html和css技能,同时需要有简单的javascrip...
    99+
    2022-11-13
  • JavaScript实现简单钟表时钟
    本文实例为大家分享了JavaScript实现简单钟表时钟的具体代码,供大家参考,具体内容如下 效果图: 主要思想: 1.先画一个圆表盘。 2.再用js循环画刻度(每一个刻度都是li...
    99+
    2022-11-12
  • java实现自定义时钟并实现走时功能
    本文实例为大家分享了java自定义时钟并实现走时功能的具体代码,供大家参考,具体内容如下 效果图: 很多人想要自己用代码实现一个简单的时钟,显示时间,下面是我用JAVA写的一个时钟...
    99+
    2022-11-13
  • Android自定义View实现时钟功能
    最近在练习自定义view, 想起之前面试的时候笔试有道题是写出自定义一个时钟的关键代码. 今天就来实现一下. 步骤依然是先分析, 再上代码. 实现效果 View分析 时钟主要分为五...
    99+
    2022-11-13
  • js怎么实现电子时钟功能
    这篇“js怎么实现电子时钟功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js怎么实现电子时钟功能”文章吧。先准备一个ht...
    99+
    2023-07-02
  • JavaScript实现时钟特效
    本文实例为大家分享了JavaScript实现时钟特效的具体代码,供大家参考,具体内容如下 简单时间实现: <!DOCTYPE html> <html> <...
    99+
    2022-11-13
  • java如何实现自定义时钟并走时功能
    本文小编为大家详细介绍“java如何实现自定义时钟并走时功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“java如何实现自定义时钟并走时功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果图:很多人想要自己...
    99+
    2023-07-02
  • python实现闹钟定时播放音乐功能
    可以使用Python的time模块和pygame库来实现闹钟定时播放音乐的功能。首先,需要安装pygame库:```pip inst...
    99+
    2023-08-16
    python
  • 怎么在html5中实现一个时钟功能
    这期内容当中小编将会给大家带来有关怎么在html5中实现一个时钟功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。<!DOCTYPE HTML><html><hea...
    99+
    2023-06-09
  • JavaScript实现动态时钟效果
    目录演示配置设计旋转功能设计更新每日演示 时间是非常有限的,过去时光永远不会再回来。要在有限的时间里面,去面对生活的困难和生存的竞争,是需要强化自我的。而这些强化学习是最需时间的。而...
    99+
    2022-11-13
  • javascript实现数字时钟特效
    本文实例为大家分享了javascript实现数字时钟特效的具体代码,供大家参考,具体内容如下 先看效果,动态数字时钟 用到了jQuery,但是只是用来获取元素,只有一点点 面向对象...
    99+
    2022-11-12
  • JavaScript实现动态数字时钟
    本文实例为大家分享了JavaScript实现动态数字时钟的具体代码,供大家参考,具体内容如下 实现效果 代码实现 <!DOCTYPE html> <html ...
    99+
    2022-11-12
  • JavaScript实现网页电子时钟
    本文实例为大家分享了JavaScript实现网页电子时钟的具体代码,供大家参考,具体内容如下 如图就是一个简易的网页电子时钟,利用Javascript和 html和 css就可以制...
    99+
    2022-11-13
  • JavaScript实现页面电子时钟
    本文实例为大家分享了JavaScript实现页面电子时钟的具体代码,供大家参考,具体内容如下 题目:页面上有一个电子时钟,显示当前的年月日,时分秒,要求自动变化,双位显示,例如:九点...
    99+
    2022-11-13
  • JavaScript实现动态网页时钟
    本文实例为大家分享了JavaScript实现动态网页时钟的具体代码,供大家参考,具体内容如下 设计思路: 1先建立一个数组保存带有0〜9数字的10张图片; 2.通过GETDATE()...
    99+
    2022-11-13
  • JavaScript如何实现时钟特效
    这篇“JavaScript如何实现时钟特效”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript如何实现时钟特效...
    99+
    2023-07-02
  • IOS小组件实现时钟按秒刷新功能
    引言   上一节中我们了解了IOS小组件的刷新机制,发现根本没法实现按秒刷新,但是看别的App里面有做到,以为用了什么黑科技,原来是因为系统提供了一个额外的机...
    99+
    2022-06-04
    ios 小组件 刷新
  • python怎么实现闹钟定时播放音乐功能
    要实现闹钟定时播放音乐的功能,可以使用Python的标准库中的time和os模块,以及第三方库pygame。下面是一个简单的示例代码...
    99+
    2023-08-17
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作