js绘制圆形时钟

纯js制作圆形时钟  
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin:0;
            padding:0;
        }
        body{
            background: grey;
        }
        .box{
            width:320px;
            height: 320px;
            border: 5px solid darkred;
            border-radius: 160px;
            position: relative;
            margin:50px auto;
        }
        h2{
            width:500px;
            text-align: center;
            color: #FF2728;
            margin: 50px auto;
            border:5px groove darkgoldenrod;
        }
        #hour{
            width:3px;
            height:50px;
            background: red;
            position: absolute;
            top:100px;
            left:50%;
            transform-origin: left bottom;
        }
        #min{
            width:2px;
            height:100px;
            background: blue;
            position: absolute;
            top:50px;
            left:50%;
            transform-origin: left bottom;
        }
        #sed{
            width:1px;
            height:150px;
            background: yellow;
            position: absolute;
            left:50%;
            transform-origin: left bottom;
        }
        #point{
            width:16px;
            height: 16px;
            border-radius: 8px;
            background: black;
            position: absolute;
            top:144px;
            left:152px;
        }
        span{
            width: 16px;
            height: 16px;
            text-align: center;
            line-height: 16px;
            background: #fff;
            border-radius: 8px;
            font-weight: bold;
            position: absolute;
        }
        span:nth-of-type(1){
            left:232px;
        }
        span:nth-of-type(2){
            top:72px;
        }
        span:nth-of-type(3){
            left:312px;
            top:152px;
        }
        span:nth-of-type(4){
            top:232px;
        }
        span:nth-of-type(5){
            left:232px;
        }
        span:nth-of-type(6){
            left:152px;
            top:312px;
        }
        span:nth-of-type(7){
            left:72px;
        }
        span:nth-of-type(8){
            top:232px;
        }
        span:nth-of-type(9){
            top:152px;
            left:-8px;
        }
        span:nth-of-type(10){
            top:72px;
        }
        span:nth-of-type(11){
            left:72px;
        }
        span:nth-of-type(12){
            left:152px;
            top:-8px;
        }
    </style>
    <script type="text/javascript">
        window.onload=function () {
            show();
            setInterval(show,1000);
            function show() {
                var date = new Date();
                var year = date.getFullYear();
                var month = date.getMonth()+1;
                var day = date.getDate();
                var hour = date.getHours();
                var d = null;
                var g = null;
                if(hour>12){
                    g=hour-12;
                    d="PM";
                }else {
                    g=hour;
                    d="AM";
                }
                var h2= document.getElementsByTagName("h2")[0];
                var min = date.getMinutes();
                var sed = date.getSeconds();
                h2.innerHTML="当前时间为:"+year+"年"+month+"月"+day+"日"+g+":"+min+":"+sed+d;
                var hour1 = document.getElementById("hour");
                var min1 = document.getElementById("min");
                var sed1 = document.getElementById("sed");
                var t= g*30+min*0.5;
                var s = min*6+sed*0.1;
                hour1.style="transform:rotate("+t+"deg)";
                min1.style="transform:rotate("+s+"deg)";
                sed1.style="transform:rotate("+sed*6+"deg)";
            }
            var span = document.getElementsByTagName("span");
            var x = Math.sqrt(3)
            span[0].style="top:"+(152-80*x)+"px";
            span[1].style="left:"+(152+80*x)+"px";
            span[3].style="left:"+(152+80*x)+"px";
            span[4].style="top:"+(152+80*x)+"px";
            span[6].style="top:"+(152+80*x)+"px";
            span[7].style="left:"+(152-80*x)+"px";
            span[9].style="left:"+(152-80*x)+"px";
            span[10].style="top:"+(152-80*x)+"px";
        }
    </script>
</head>
<body>
<h2></h2>
<div class="box">
<div id="hour"></div>
<div id="min"></div>
<div id="sed"></div>
<div id="point"></div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
    <span>5</span>
    <span>6</span>
    <span>7</span>
    <span>8</span>
    <span>9</span>
    <span>10</span>
    <span>11</span>
    <span>12</span>
</div>
</body>
</html>

时间: 2024-10-18 05:37:01

js绘制圆形时钟的相关文章

C#绘制圆形时钟

本文由作者参考部分案例后加以修改完成: 参考链接如下: http://blog.csdn.net/xuemoyao/article/details/8001113 http://wenku.baidu.com/view/1221d6522f60ddccda38a0e7 (1)     最终效果 (2)程序实现分析: 选用Paint事件进行实现绘制,然后加一个定时器设定为1000毫秒更新一次. (3)具体方法 在Form窗体(设置大小为300*300),中添加Time1,属性Enabled改为tr

js在web页面上绘制圆形

在web页面上,想要画出一个圆形,方法有很多,SVG.canvas都可以绘图.但是本文不采用这两种方式,而是使用一个div.div一般是一个矩形,但是如果设置一个圆角样式border-radius就可以将div变成圆形. 圆的位置需要在画布中绝对定位(position: absolute),也就是通过设置X.Y坐标在定位,对应的css样式是left.top.想要圆的绝对定位起效,画布就要设置position:relative. <!DOCTYPE html> <html> <

应用canvas绘制动态时钟--每秒自动动态更新时间

使用canvas绘制时钟 下文是部分代码,完整代码参照:https://github.com/lemoncool/canvas-clock,可直接下载. 首先看一下效果图:每隔一秒会动态更新时间 一.前期准备 1. HTML中准备一个容器存放画布,并为其设置width,height. <div> <canvas id="clock" height="200px" width="200px"></canvas>

html5 canvas绘制圆形印章,以及与页面交互

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>HTML5 Canvas画印章</title> 6 <script type="text/javascript" src="../JQmain/jquery-2.2.0.min.js"></script> 7 &l

使用html5 canvas绘制圆形或弧线

注意:本文属于<html5 Canvas绘制图形入门详解>系列文章中的一部分.如果你是html5初学者,仅仅阅读本文,可能无法较深入的理解canvas,甚至无法顺畅地通读本文.请点击上述链接以了解使用html5 canvas绘制图形的完整内容. 在html5中,CanvasRenderingContext2D对象也提供了专门用于绘制圆形或弧线的方法,请参考以下属性和方法介绍: arc(x, y, radius, startRad, endRad, anticlockwise) 在canvas画

HTML5 Canvas绘制实时时钟

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>try to draw the colock</title> <script src="js/modernizr-1.7.js"></script> <script type="text/javascript"> wind

jQuery ClockPicker 圆形时钟

ClockPicker.js是一款时钟插件,其实还可以改进,里面的分可以改成短横线. 在线实例 实例预览  jQuery ClockPicker 圆形时钟 使用方法 <div class="input-group clockpicker"> <input type="text" class="form-control" value="09:30"> <span class="input-

用html+css+javascript制作圆形时钟

制作好的效果如下: 表盘.刻度和数字全都是用html+css完成的. html+css代码如下: <!DOCTYPE html> <html> <head> <title>圆形时钟</title> <style type="text/css"> #div1{ width: 500px; height: 500px; border:1px solid black; border-radius: 50%; margin

Breaseman算法绘制圆形|中点算法绘制圆形_程序片段

Breaseman算法绘制圆形|中点算法绘制圆形_程序片段 1. Breaseman算法绘制圆形程序 由于算法的特殊性,限制绘制第一象限部分,其他部分通过旋转绘制. 1 void CCGProjectWorkView::bresenHam_1P4Circle(int radium, const float lineColor[]) 2 { 3 int pointX, pointY, deltD, deltHD, deltDV, direction; 4 pointX = 0; 5 pointY