利用css+原生js制作简单的钟表

下面为您详细讲解“利用 CSS + 原生 JavaScript 制作简单的钟表”攻略。

准备工作

首先,我们需要准备以下工具:

  1. 代码编辑器:Visual Studio Code、Sublime Text、Atom 等。
  2. 网页浏览器:Chrome、Firefox、Safari 等。

制作步骤

接下来,我们按照以下步骤来制作简单的钟表:

1. HTML 结构

我们先来编写 HTML 结构,代码如下:

<div class="clock">
  <div class="hour-hand"></div>
  <div class="minute-hand"></div>
  <div class="second-hand"></div>
  <div class="center"></div>
</div>

其中,.clock 是钟表的容器,.hour-hand.minute-hand.second-hand 分别是时、分和秒针,.center 是钟表中心点。

2. CSS 样式

接着,我们来为钟表编写样式,代码如下:

.clock {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
}

.hour-hand, .minute-hand, .second-hand {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: bottom center;
  background-color: #000;
}

.hour-hand {
  width: 6px;
  height: 60px;
  margin-left: -3px;
  z-index: 3;
}

.minute-hand {
  width: 4px;
  height: 80px;
  margin-left: -2px;
  z-index: 2;
}

.second-hand {
  width: 2px;
  height: 100px;
  margin-left: -1px;
  z-index: 1;
}

.center {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  z-index: 4;
}

3. JavaScript 动态效果

最后,我们来为时、分、秒针添加动态效果,代码如下:

function updateClock() {
  var now = new Date();
  var seconds = now.getSeconds();
  var minutes = now.getMinutes();
  var hours = now.getHours();
  var hour_deg = hours * 30 + minutes * 0.5;
  var minute_deg = minutes * 6 + seconds * 0.1;
  var second_deg = seconds * 6;

  document.querySelector(".hour-hand").style.transform = `rotate(${hour_deg}deg)`;
  document.querySelector(".minute-hand").style.transform = `rotate(${minute_deg}deg)`;
  document.querySelector(".second-hand").style.transform = `rotate(${second_deg}deg)`;
}

setInterval(updateClock, 1000);

在上述代码中,我们通过 setInterval 方法每秒钟调用 updateClock 函数,来实时更新时、分、秒针的角度,从而达到钟表动态效果呈现的目的。

示例说明

以下是两个通过 HTML、CSS 和 JavaScript 呈现钟表的示例:

示例一

https://codepen.io/lucien76/pen/XWpRMEy

在该示例中,作者采用了不同的 CSS 样式,通过 JavaScript 获取当前时间,将时、分、秒针的角度进行计算并赋值,最后为其添加了动态效果。

示例二

https://codepen.io/tutsplus/pen/XKzPWz

在该示例中,作者采用了 PNG 图形作为时、分、秒针,通过 JavaScript 动态计算并设置其旋转角度,实现了钟表的动态效果呈现。

总的来说,使用 HTML、CSS 和 JavaScript 制作简单的钟表比较容易,只需注意细节和动态效果的实现即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用css+原生js制作简单的钟表 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js判断对象是否是某一类型

    判断JavaScript对象是否是某一类型有多种方法,下面介绍几种主要的方法。 1. 使用typeof运算符 typeof 运算符可以判断值的类型,对基本类型具有很好的支持。不过对于一些引用类型,typeof 返回的结果并不准确。 const num = 1; console.log(typeof num); // "number" co…

    JavaScript 2023年5月27日
    00
  • 关于ES6中的箭头函数超详细梳理

    关于ES6中的箭头函数超详细梳理 箭头函数的概述 ES6中新增的箭头函数,是一种新的函数表达式,可以简化函数的创建过程,提高代码的可读性。它具有以下几个特点: 采用箭头符号“=>”作为函数定义符号。 函数体中只有一句代码时,可以省略花括号和return。 箭头函数没有自己的this,它的this由外部的上下文决定。 箭头函数不可以作为构造器使用,也不能…

    JavaScript 2023年6月11日
    00
  • JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】

    我们来详细讲解一下JS表单验证方法实例小结。 验证电话号码 function validatePhone(phone) { // 正则表达式验证手机号码,只允许输入数字,以 1 开头,总长度为 11 位 var reg = /^1\d{10}$/; return reg.test(phone); } 以上代码是一个验证电话号码的函数模板,其中使用了正则表达式…

    JavaScript 2023年6月10日
    00
  • JavaScript实例–实现计算器

    下面是“JavaScript实例–实现计算器”的完整攻略。 1. 需求分析 在开始编写代码之前,我们需要先确定需求。计算器需要实现以下功能: 实现加、减、乘、除四则运算 实现小数点的输入和计算 实现清除和退格功能 实现等号的计算 2. 页面结构和样式 我们需要创建一个HTML页面,包含一个输入框、数字按钮、四则运算按钮和其他功能按钮,如清除和退格按钮等。对…

    JavaScript 2023年5月27日
    00
  • JavaScript展开操作符(Spread operator)详解

    JavaScript展开操作符(Spread operator)详解 展开操作符是JavaScript ES6(ECMAScript 2015)引入的一个新特性,它使用三个连续的点(…),通常用于展开数组和对象。本篇文章将详细讲解展开操作符的各种用法。 展开操作符的使用 展开数组 展开操作符可以用于展开数组,并将其展开为多个独立的值。示例代码如下: co…

    JavaScript 2023年5月27日
    00
  • 简单谈谈javascript高级特性

    简单谈谈Javascript高级特性 1. 闭包 1.1 什么是闭包 闭包是指有权访问另一个函数作用域中变量的函数,常用来创建私有变量和方法,还可以用来实现函数柯里化等。 1.2 闭包的使用场景 1.2.1 创建私有变量和方法 function counter() { var count = 0; return { increment: function()…

    JavaScript 2023年6月10日
    00
  • javascript 建设银行登陆键盘

    JavaScript 建设银行登录键盘是一个非常常见的前端实现方法,在一些特殊场景下可以有效地保护用户的登录信息泄露。下面是一份完整的攻略。 步骤一:HTML 结构 首先,我们需要创建一个基本的 HTML 结构来呈现登录页面和键盘。以下是基本的 HTML 结构: <form id="loginForm"> <div&gt…

    JavaScript 2023年6月11日
    00
  • javascript稀疏数组(sparse array)和密集数组用法分析

    JavaScript稀疏数组(sparse array)和密集数组用法分析 在JavaScript中,数组是一种非常常见的数据类型。根据存储方式的不同,数组可以分为密集数组和稀疏数组。本文将详细讲解JavaScript中稀疏数组和密集数组的用法和注意事项。 密集数组 密集数组是指数组中连续存储的元素,也就是我们平常所见到的大多数数组。如下面的例子: var …

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部