当前位置: 首页 > article >正文

js写旋转的时钟动态

目录

1、css代码

2.html代码

3.js代码


1、css代码

 .box {
            position: relative;
            width: 600px;
            height: 600px;
            background: url(./images/clock.jpg) no-repeat center;

        }

        .hour,
        .minute,
        .second {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;


        }

        .hour {
            background: url(./images/hour.png) no-repeat center;
            transform: rotate(270deg);
        }

        .minute {
            background: url(./images/minute.png) no-repeat center;
            transform: rotate(0deg);
        }

        .second {
            background: url(./images/second.png) no-repeat center;
            transform: rotate(0deg);
        }

2.html代码

 <div class="box">
        <div class="hour">

        </div>
        <div class="minute">

        </div>

        <div class="second">

        </div>

    </div>

3.js代码

创建日期对象,获取当前时间,计算秒针,时针,分针转一圈的度数,来设置每秒的旋转度数

角度换算:

        小时角度公式:小时 * 30 + 分钟 / 60 * 30

        分钟角度公式:分钟* 6 + 秒 / 60 * 6

         秒角度公式: 当前秒数 * 6

         获取当前时分秒

多次调用定时器,重复获取时间,让指针动起来

 const second = document.querySelector('.second')
        const hour = document.querySelector('.hour')
        const minute = document.querySelector('.minute')
        function getTime() {
            let date = new Date()
            let h = date.getHours()
            let m = date.getMinutes()
            let s = date.getSeconds()

            const h_rotate = h * 30 + (m / 60) * 30
            const m_rotate = m * 6 + (s / 60) * 6
            const s_rotate = s * 6
            hour.style.transform = `rotate(${h_rotate})deg`
            minute.style.transform = `rotate(${m_rotate}deg)`
            second.style.transform = `rotate(${s_rotate}deg)`
        }


        getTime()
        setInterval(getTime, 1000)

 

 


http://www.kler.cn/a/162401.html

相关文章:

  • HBase理论_背景特点及数据单元及与Hive对比
  • JVM详解:JVM的系统架构
  • DNS面临的4大类共计11小类安全风险及防御措施
  • C++单例模式实现
  • MyBatisPlus 用法详解
  • Lucene 和 Elasticsearch 中更好的二进制量化 (BBQ)
  • 在Windows 10或11中,复制和粘贴不起作用,不一定是键盘的问题
  • canvas基础:绘制虚线
  • Python 爬虫 之scrapy 框架
  • SAP 后继物料简介
  • promethesu告警规则配置,alertmanager通过webhook通知
  • 使用Rust 构建C 组件
  • php爬虫规则与robots.txt讲解
  • HarmonyOs 4 (二) HelloWord
  • (1)(1.4) ESP32 wifi telemetry
  • Unity 性能优化的手段【更新中】
  • 前端组件库开发
  • 【开题报告】基于SpringBoot的影视作品网站的设计与实现
  • 利用异或、取反、自增bypass_webshell_waf
  • 电脑出现错误代码0xc000000f怎么办,有效解决0xc000000f问题
  • [wp]“古剑山”第一届全国大学生网络攻防大赛 Web部分wp
  • Python-滑雪大冒险【附源码】
  • uni-app解决video组件全屏时页面横竖错乱问题
  • Fiddler的配置、原理和使用
  • 爬虫-BeautifulSoup之XML篇
  • synxflow 安装环境