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>

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tcp为什么要三次握手,两次不行吗_tcp为什么不能二次握手

    tcp为什么要三次握手,两次不行吗_tcp为什么不能二次握手作者:大闲人柴毛毛链接:https://www.zhihu.com/question/24853633/answer/254224088来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转

    2022年8月2日
    5
  • Linux系统定时任务「建议收藏」

    Linux系统定时任务定时任务CrondCrond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6linux操作系统之后,默认便会启动Crond任务调度服务。Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作,如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作,这个crond定…

    2022年4月16日
    46
  • Bootstrap3和4模板

    Bootstrap3和4模板Bootstrap3<!DOCTYPEhtml><htmllang=”zh-CN”><head><metacharset=”utf-8″><!–可以让部分国产浏览器默认采用高速模式渲染页面–><metaname=”renderer”content=”webkit”><!–为了让IE浏览器运行最新的渲染模式下–><metahttp-equiv

    2022年7月24日
    6
  • F分布的概率密度函数_F分布的统计量是

    F分布的概率密度函数_F分布的统计量是定义:设X1∼χ2(m),X2∼χ2(n)X_{1}\sim\chi^{2}(m),X_{2}\sim\chi^{2}(n)X1​∼χ2(m),X2​∼χ2(n),X1X_{1}X1​与X2X_{2}X2​相互独立,则称随机变量F=X1/mX2/nF=\frac{X_{1}/m}{X_{2}/n}F=X2​/nX1​/m​服从自由度为mmm及nnn的FFF分布,mmm称为第一自由度,n\boldsymbol{n}n称为第二自由

    2022年10月10日
    3
  • sparksql 概述

    sparksql 概述

    2021年11月27日
    44
  • 构造哈夫曼树的算法_哈夫曼树的应用数据结构

    构造哈夫曼树的算法_哈夫曼树的应用数据结构一、什么是赫夫曼树给定n个权值作为n个叶子节点,构造一课二叉树,若该树的带权路径长度和(wpl)达到最小,称这样的二叉树为最优二叉树,也就是赫夫曼树。要理解这句话,我们需要了解几个关键词:路径:

    2022年8月16日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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