使用HTML,CSS和JavaScript创建模拟时钟

使用HTML,CSS和JavaScript创建模拟时钟

在本文中,我们将使用HTML,CSS和JavaScript构建一个实时的模拟时钟。

先决条件:

  • HTML,CSS和JavaScript有基本的了解。

方法: 我们将创建三个文件(一个HTML文件,一个CSS文件和一个JavaScript文件),我们还有一个将用作背景的时钟图像,并在此基础上创建时、分和秒针(使用HTML和CSS)。这些指针将根据系统时间进行旋转(我们将使用JavaScript的预定义Date函数来计算每个指针旋转的角度)。

  • HTML: 这是一个简单的文件,具有网页的基本结构以及时钟本身和秒针、分针、时针的ID。
  • CSS 用于美化时钟的样式设置。我们将时钟居中放置在网页的中间。
  • JavaScript 提供指针旋转的逻辑。

示例:

  • 首先,我们从HTML中选择了时、分和秒。
  • 为了获取当前时间,我们使用了JavaScript提供的Date()对象。它将分别给出当前的秒、分和时。
  • 现在,我们已经得到了小时、分钟和秒钟,并且我们知道时钟旋转360度。所以,我们将将时钟指针的旋转转换成角度。角度计算是基于简单的一元方法。
<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="style.css">
    <script src="index.js"></script>
</head>
<body>
    <div id="clockContainer">
        <div id="hour"></div>
        <div id="minute"></div>
        <div id="second"></div>
    </div>
</body>
</html>

CSS代码

#clockContainer {
    position: relative;
    margin: auto;
    height: 40vw;
    /*to make the height and width responsive*/
    width: 40vw;
    background: url(clock.png) no-repeat;
    /*setting our background image*/
    background-size: 100%;
}
 
#hour,
#minute,
#second {
    position: absolute;
    background: black;
    border-radius: 10px;
    transform-origin: bottom;
}
 
#hour {
    width: 1.8%;
    height: 25%;
    top: 25%;
    left: 48.85%;
    opacity: 0.8;
}
 
#minute {
    width: 1.6%;
    height: 30%;
    top: 19%;
    left: 48.9%;
    opacity: 0.8;
}
 
#second {
    width: 1%;
    height: 40%;
    top: 9%;
    left: 49.25%;
    opacity: 0.8;
}

JavaScript代码

setInterval(() => {
    d = new Date(); //object of date()
    hr = d.getHours();
    min = d.getMinutes();
    sec = d.getSeconds();
    hr_rotation = 30 * hr + min / 2; //converting current time
    min_rotation = 6 * min;
    sec_rotation = 6 * sec;
 
    hour.style.transform = `rotate({hr_rotation}deg)`;
    minute.style.transform = `rotate({min_rotation}deg)`;
    second.style.transform = `rotate(${sec_rotation}deg)`;
}, 1000);

输出:

使用HTML,CSS和JavaScript创建模拟时钟

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程