iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js实现简单圆盘时钟
  • 219
分享到

js实现简单圆盘时钟

2024-04-02 19:04:59 219人浏览 安东尼
摘要

本文实例为大家分享了js实现简单圆盘时钟的具体代码,供大家参考,具体内容如下 预览图: 代码: CSS: <style> .disc {

本文实例为大家分享了js实现简单圆盘时钟的具体代码,供大家参考,具体内容如下

预览图:

代码:

CSS


<style>
        .disc {
            position: relative;
            margin: 200px auto;
            width: 300px;
            height: 300px;
            border: 1px solid #000;
            border-radius: 50%;
        }
        
        .axis {
            position: absolute;
            top: 150px;
            left: 150px;
            transfORM: translate(-50%, -50%);
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background-color: #000;
        }
        
        .hourHand {
            position: absolute;
            top: 150px;
            left: 147px;
            width: 6px;
            height: 80px;
            background-color: #000;
            transform-origin: 3px 0;
        }
        
        .minuteHand {
            position: absolute;
            top: 150px;
            left: 148px;
            width: 4px;
            height: 110px;
            background-color: #000;
            transform-origin: 2px 0;
        }
        
        .secondHand {
            position: absolute;
            top: 150px;
            left: 149px;
            width: 2px;
            height: 130px;
            background-color: #000;
            transform-origin: 1px 0;
        }
        
        .scale {
            position: absolute;
            top: 0;
            left: 150px;
            transform-origin: 2.5px 150px;
            width: 2px;
            height: 5px;
            background-color: #000;
        }
        
        .num {
            position: absolute;
            top: 15px;
            left: 150px;
            width: 20px;
            height: 20px;
            color: 16px;
            text-align: center;
            line-height: 20px;
            transform-origin: 50% 135px;
        }
        
        .num span {
            display: block;
            transform-origin: 50% 50%;
        }
</style>

html


<div class="disc">
        <div class="axis"></div>
        <div class="hourHand"></div>
        <div class="minuteHand"></div>
        <div class="secondHand"></div>

</div>

js:


// 获取元素
        var disc = document.getElementsByClassName('disc')[0];
        var hourHand = document.getElementsByClassName('hourHand')[0];
        var minuteHand = document.getElementsByClassName('minuteHand')[0];
        var secondHand = document.getElementsByClassName('secondHand')[0];
        var scale = document.getElementsByClassName('scale');

        // 生成刻度
        for (var i = 0; i < 60; i++) {
            var scale = document.createElement('div');
            scale.classList.add('scale');
            scale.style.transform = `translate(-50%) rotate(${i*6}deg)`;
            disc.appendChild(scale);
            scale.style.transform = `translate(-50%) rotate(${i*6}deg)`;
            if (i % 5 === 0) {
                scale.style.width = 4 + 'px';
                scale.style.height = 12 + 'px';
            }
        }

        // 生成数字
        for (var i = 0; i < 12; i++) {
            var num = document.createElement('div');
            var numx = document.createElement('span');
            num.classList.add('num');
            num.style.transform = `translate(-50%) rotate(${i*30+30}deg)`;
            numx.style.transform = `rotate(${-i*30-30}deg)`;
            numx.innerHTML = i + 1;
            disc.appendChild(num);
            num.appendChild(numx);
        }


        // 浏览器刚打开就显示,不会停顿
        var h = getTime().hours;
        h = h > 12 ? h - 12 : h;
        hourHand.style.transform = `rotate(${h*30-180+(getTime().minute*0.5)}deg)`;
        minuteHand.style.transform = `rotate(${getTime().minute*6-180}deg)`;
        secondHand.style.transform = `rotate(${getTime().second*6-180}deg)`;

        // 定时器,每过一秒执行一次
        setInterval(function() {
            var h = getTime().hours;
            h = h > 12 ? h - 12 : h;
            hourHand.style.transform = `rotate(${h*30-180+(getTime().minute*0.5)}deg)`;
            minuteHand.style.transform = `rotate(${getTime().minute*6-180}deg)`;
            secondHand.style.transform = `rotate(${getTime().second*6-180}deg)`;
        }, 1000)


        // 函数:获取时间
        function getTime() {
            var date = new Date();
            var year = date.getFullYear();
            var month = date.getMonth();
            month = month < 10 ? '0' + month : month;
            var day = date.getDate();
            day = day < 10 ? '0' + day : day;
            var week = date.getDay();
            var weeks = ['日', '一', '二', '三', '四', '五', '六'];
            var weekZn = weeks[week];
            var hou = date.getHours();
            hou = hou < 10 ? '0' + hou : hou;
            var min = date.getMinutes();
            min = min < 10 ? '0' + min : min;
            var sec = date.getSeconds();
            sec = sec < 10 ? '0' + sec : sec;
            return {
                year: year,
                month: month,
                day: day,
                week: weekZn,
                hours: hou,
                minute: min,
                second: sec
            }
        }

更多javascript时钟特效点击查看:JavaScript时钟特效专题

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

--结束END--

本文标题: js实现简单圆盘时钟

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

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

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

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

下载Word文档
猜你喜欢
  • js实现简单圆盘时钟
    本文实例为大家分享了js实现简单圆盘时钟的具体代码,供大家参考,具体内容如下 预览图: 代码: css: <style> .disc { ...
    99+
    2024-04-02
  • js+html+css实现简单电子时钟
    本文实例为大家分享了js+html+css实现简单电子时钟的具体代码,供大家参考,具体内容如下 最终结果: HTML部分 <!DOCTYPE html> <htm...
    99+
    2024-04-02
  • JavaScript实现简单钟表时钟
    本文实例为大家分享了JavaScript实现简单钟表时钟的具体代码,供大家参考,具体内容如下 效果图: 主要思想: 1.先画一个圆表盘。 2.再用js循环画刻度(每一个刻度都是li...
    99+
    2024-04-02
  • CSS3+js如何实现简单的时钟特效
    小编给大家分享一下CSS3+js如何实现简单的时钟特效,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,使网页更加美化。它也是一...
    99+
    2023-06-09
  • 如何使用CSS3+js实现简单的时钟特效
    小编给大家分享一下如何使用CSS3+js实现简单的时钟特效,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html代码如下:<...
    99+
    2024-04-02
  • 用JavaScript实现简单网页时钟
    利用JavaScript实现网页时钟,效果如下图所示: 首先在body中完成表盘、指针的资源载入: <div><img src="../../image/cl...
    99+
    2024-04-02
  • 利用JavaScript实现简单的网页时钟
    目录一、效果展示二、使用的技术三、日期对象1.指定时间2.获取目前时间三、源代码前言: 今天带大家使用JavaScript定制一款网页时钟 一、效果展示 二、使用的技术 主要使用了...
    99+
    2024-04-02
  • 如何通过Canvas+JS实现简易的时钟
    今天就跟大家聊聊有关如何通过Canvas+JS实现简易的时钟,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。之前学习了下html5中的canvas元素,为了练练手就实现了一个简易的时钟...
    99+
    2023-06-17
  • java实现时钟表盘
    本文实例为大家分享了java实现时钟表盘的具体代码,供大家参考,具体内容如下 设计并实现一个模拟时钟功能的应用程序。程序中应显示时针、分针和秒针,并同时以数字形式显示当前时间。 实现...
    99+
    2024-04-02
  • Android怎么实现简单时钟View的方法
    这篇文章给大家分享的是有关Android怎么实现简单时钟View的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通过Canvas的平移与旋转简化绘图逻辑是一个非常有用的技巧,下面的时钟view就是利用这个方法...
    99+
    2023-05-30
    android view
  • 原生JS实现实时钟表
    分享一个用原生JS实现的实时钟表特效,效果如下(PS:实际指针是按360度走的,截图时只截了一部分)   上面的效果一共需要4张图片,分别是表盘、时针、分针、秒针,根据需要...
    99+
    2024-04-02
  • C#GDI+实现时钟表盘
    本文实例为大家分享了C# GDI+实现时钟表盘的具体代码,供大家参考,具体内容如下 一、设计如下图界面 按键“打开时钟”按下后会出现表盘,按键“退...
    99+
    2024-04-02
  • golang 墙上时钟与单调时钟的实现
    目录墙上时钟与单调时钟墙上时钟单调时钟Time的结构Since的实现小结参考资料墙上时钟与单调时钟 墙上时钟 墙上时钟也称为墙上时间。大多是1970年1月1日(UTC)以来的秒数和毫...
    99+
    2024-04-02
  • JS实现简单网页倒计时器
    制作一个简单的网页倒计时器(js原生代码),供大家参考,具体内容如下 实现一个简单的网页倒计时(距离xx年x月x日还剩多少时间),效果是这样的 首先HTML代码部分,我们需要简单编...
    99+
    2022-11-13
    JS网页倒计时器 JS倒计时器 JS网页倒计时
  • 原生js实现电子时钟
    本文实例为大家分享了js实现电子时钟的具体代码,供大家参考,具体内容如下 index.html <!DOCTYPE html> <html lang="en"&g...
    99+
    2024-04-02
  • JS实现图片数字时钟
    本文实例为大家分享了JS实现图片数字时钟的具体代码,供大家参考,具体内容如下 首先这是我们准备的图片 <!DOCTYPE html> <html lang="...
    99+
    2024-04-02
  • js实现电子时钟效果
    本文实例为大家分享了js实现电子时钟效果的具体代码,供大家参考,具体内容如下 代码区域 代码如下(示例): <!DOCTYPE html> <html lang="...
    99+
    2024-04-02
  • js实现电子时钟功能
    电子时钟是网上常见的功能,在学习date对象和定时器功能时,来完成一个电子时钟的制作是不错的选择。学习本教程之前,读者需要具备html和css技能,同时需要有简单的javascrip...
    99+
    2024-04-02
  • vue2实现简易时钟效果
    本文实例为大家分享了vue2实现简易时钟效果的具体代码,供大家参考,具体内容如下 1.vue2+纯css实现 预览效果: 2.代码如下: <template>     ...
    99+
    2024-04-02
  • C#如何实现时钟表盘
    本篇内容介绍了“C#如何实现时钟表盘”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、设计如下图界面按键“打开时钟”按下后会出现表盘,按键“...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作