js实现时钟代码

js实现时钟代码代码<!DOCTYPEhtml><html><headlang=”en”><metacharset=”UTF-8″><title></title><style>/*全局*/*{margin:0;…

大家好,又见面了,我是你们的朋友全栈君。

代码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        /* 全局 */
        *{ 
   
            margin:0;
            padding:0;
        }
        .clock{ 
   
            width:400px;
            height:400px;
            border:10px solid #333;
            box-shadow: 0 0 20px 3px #444 inset;
            border-radius:210px;
            position:relative;
            margin:5px auto;
            z-index:10;
            background-color:#f6f6f6;
        }
        /* 时钟数字 */
        .clock-num{ 
   
            width:40px;
            height:40px;
            font-size:22px;
            text-align:center;
            line-height:40px;
            position:absolute;
            z-index:8;
            color:#555;
            font-family:fantasy, 'Trebuchet MS';
        }
      
        /* 指针 */
        .clock-line{ 
   
            position:absolute;
            z-index:20;
        }
        .hour-line{ 
   width:100px;
            height:4px;
            top:198px;
            left:200px;
            background-color:#000;
            border-radius:2px;
            transform-origin:0 50%;
            box-shadow:1px -3px 8px 3px #aaa;
        }
        .minute-line{ 
   
            width:130px;
            height:2px;
            top:199px;
            left:190px;
            background-color:#000;
            transform-origin:7.692% 50%;
            box-shadow:1px -3px 8px 1px #aaa;
        }
        .second-line{ 
   
            width:170px;
            height:1px;
            top:199px;
            left:180px;
            background-color:#f60;
            transform-origin:11.765% 50%;
            box-shadow:1px -3px 7px 1px #bbb;
        }
        </style>
</head>
<body>
<div class="clock" id="clock">
    <!-- 原点 -->
    <div class="origin"></div>
    <!-- 时分秒针 -->
    <div class="clock-line hour-line" id="hour-line"></div>
    <div class="clock-line minute-line" id="minute-line"></div>
    <div class="clock-line second-line" id="second-line"></div>
</div>
<script>
    (function(){ 
   
        window.onload=initNumXY(200, 160, 40,40);
        var hour_line = document.getElementById("hour-line");
        var minute_line = document.getElementById("minute-line");
        var second_line = document.getElementById("second-line");
        var date_info = document.getElementById("date-info");
      
        var hour_time = document.getElementById("hour-time");
        var minute_time = document.getElementById("minute-time");
        var second_time = document.getElementById("second-time");
        function setTime(){ 
   
            var this_day = new Date();
            var hour = (this_day.getHours() >= 12) ?
                    (this_day.getHours() - 12) : this_day.getHours();
            var minute = this_day.getMinutes();
            var second = this_day.getSeconds();
            var hour_rotate = (hour*30-90) + (Math.floor(minute / 12) * 6);
            var year = this_day.getFullYear();
            var month = ((this_day.getMonth() + 1) < 10 ) ?
            "0"+(this_day.getMonth() + 1) : (this_day.getMonth() + 1);
            var date = (this_day.getDate() < 10 ) ?
            "0"+this_day.getDate() : this_day.getDate();
            var day = this_day.getDay();
            hour_line.style.transform = 'rotate(' + hour_rotate + 'deg)';
            minute_line.style.transform = 'rotate(' + (minute*6 - 90) + 'deg)';
            second_line.style.transform = 'rotate(' + (second*6 - 90)+'deg)';
            date_info.innerHTML =
                    year + "-" + month + "-" + date + " " + week_day[day];
            hour_time.innerHTML = (this_day.getHours() < 10) ?
            "0" + this_day.getHours() : this_day.getHours();
            minute_time.innerHTML = (this_day.getMinutes() < 10) ?
            "0" + this_day.getMinutes() : this_day.getMinutes();
            second_time.innerHTML = (this_day.getSeconds() < 10) ?
            "0" + this_day.getSeconds():this_day.getSeconds();
        }
        setInterval(setTime, 1000);
        function initNumXY(R, r, w, h){ 
   
            var numXY = [
                { 
   
                    "left" : R + 0.5 * r - 0.5 * w,
                    "top" : R - 0.5 * r * 1.73205 - 0.5 * h
                },
                { 
   
                    "left" : R + 0.5 * r * 1.73205 - 0.5 * w,
                    "top" : R - 0.5 * r - 0.5 * h
                },
                { 
   
                    "left" : R + r - 0.5 * w,
                    "top" : R - 0.5 * h
                },
                { 
   
                    "left" : R + 0.5 * r * 1.73205 - 0.5 * w,
                    "top" : R + 0.5 * r - 0.5 * h
                },
                { 
   
                    "left" : R + 0.5 * r - 0.5 * w,
                    "top" : R + 0.5 * r * 1.732 - 0.5 * h
                },
                { 
   
                    "left" : R - 0.5 * w,
                    "top" : R + r - 0.5 * h
                },
                { 
   
                    "left" : R - 0.5 * r - 0.5 * w,
                    "top" : R + 0.5 * r * 1.732 - 0.5 * h
                },
                { 
   
                    "left" : R - 0.5 * r * 1.73205 - 0.5 * w,
                    "top" : R + 0.5 * r - 0.5 * h
                },
                { 
   
                    "left" : R - r - 0.5 * w,
                    "top" : R - 0.5 * h
                },
                { 
   
                    "left" : R - 0.5 * r * 1.73205 - 0.5 * w,
                    "top" : R - 0.5 * r - 0.5 * h
                },
                { 
   
                    "left" : R - 0.5 * r - 0.5 * w,
                    "top": R - 0.5 * r * 1.73205 - 0.5 * h
                },
                { 
   
                    "left" : R - 0.5 * w,
                    "top" : R - r - 0.5 * h
                }
            ];
            var clock = document.getElementById("clock");
            for(var i = 1; i <= 12; i++){ 
   
                if(i%3 == 0) { 
   
                    clock.innerHTML += "<div class='clock-num em_num'>"+i+"</div>";
                } else { 
   
                    clock.innerHTML += "<div class='clock-num'>" + i + "</div>";
                }
            }
            var clock_num = document.getElementsByClassName("clock-num");
            for(var i = 0; i < clock_num.length; i++) { 
   
                clock_num[i].style.left = numXY[i].left + 'px';
                clock_num[i].style.top = numXY[i].top + 'px';
            }
            for(var i = 0; i < 60; i++) { 
   
                clock.innerHTML += "<div class='clock-scale'> " +
                        "<div class='scale-hidden'></div>" +
                        "<div class='scale-show'></div>" +
                        "</div>";
            }
            var scale = document.getElementsByClassName("clock-scale");
            for(var i = 0; i < scale.length; i++) { 
   
                scale[i].style.transform="rotate(" + (i * 6 - 90) + "deg)";
            }
        }
    })();
</script>
</body>
</html>

效果图
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154109.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • verilog hdl与fpga数字系统设计_简易交通信号灯控制系统

    verilog hdl与fpga数字系统设计_简易交通信号灯控制系统1、系统设计要求该交通灯控制器用于主干道与支道公路的交叉路口,要求是优先保证主干道的畅通,因此,设计要求如下。1、平时处于“主干道绿灯,支道红灯”状态,只有在支道有车辆要穿过主干道时,才将交通灯切向“主干道红灯,支道绿灯”,一旦支道无车辆通过路口,交通灯又回到“主干道绿灯,支道红灯”的状态。2、主干道每次通行的时间不得短于1min,支路每次通行的时间不得长于20s,而这两个状态交换过程中出现“主干道黄灯,支道红灯”和“主干道红灯,支道黄灯”的状态,持续时间都为4s。2、设计分析1、用状态

  • 解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile

    解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compilemvncleanpackage-Dmaven.test.skip=true今天项目用maven命令打包时候抛出错误:Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile(default-compile)onprojectspringbootdemo:Fata…

  • Linux下kafka集群安装配置

    Linux下kafka集群安装配置下载kafkahttps://kafka.apache.org/downloads#2.3.1解压tar-zxvfkafka_2.12-2.3.1.tgz配置server.xmlcd/usr/local/kafka/kafka_2.12-2.3.1/configviserver.xml本次设置三个节点,配置内容如下192.168.0.1broker.id…

  • SpringBoot的启动流程_springboot启动卡住了

    SpringBoot的启动流程_springboot启动卡住了SpringMVC请求流程详解SpringMVC框架是一个基于请求驱动的Web框架,并且使用了‘前端控制器’模型来进行设计,再根据‘请求映射规则’分发给相应的页面控制器进行处理。(一)整体流程每一个SpringBoot程序都有一个主入口,这个主入口就是main方法,而main方法中都会调用SpringBootApplication.run方法,一个快速了解SpringBootApplication启动过程的好方法就是在run方法中打一个断点,然后通过Debug的模式启动工程,逐步跟踪了解Sprin

  • linux命令hexdump,Linux系统中hexdump的命令汇总

    linux命令hexdump,Linux系统中hexdump的命令汇总Linux系统中hexdump的命令汇总hexdump是Linux系统中用来查看文件十六进制编码的命令,配合不同的参数其作用也有所不同,下面小编就给大家介绍下Linux中hexdump命令的用法,不了解的`朋友不妨来学习一下。查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。可以将二进制文件转换为ASCII、10进制、16进制或8进制进行查看。-b每一字节以八进制显示,一行共16个字节…

  • python 6行代码搞定图片批量重命名「建议收藏」

    python 6行代码搞定图片批量重命名「建议收藏」importpandasaspdimportosf1=pd.read_excel(‘花.xlsx’,converters={‘name’:int,’rename’:str})如下图所示,为f1。读取’花.xlsx’文件,以整型的形式读取’nama’,以文本的形式读取’rename’。name为图片原始的命名。rename为图片重命名的结果。filelist…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号