javascript 实现圆形时钟秒针同步

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        #clock
        {
            border: 1px solid silver;
            width: 250px;
            height: 250px;
            position: relative;
            margin-left: 400px;
        }
    </style>
    <script type="text/javascript">
        //画圆时钟
        function drawClock() {
            //没一分钟就会画出一条秒针线,去掉之前的秒针线。
            document.getElementById("clock").innerHTML = "";
            //刻度盘
            for (var i = 0; i < 360; i++) {
                var point = document.createElement("div");
                point.style.backgroundColor = "red";
                point.style.width = "1px";
                point.style.height = "1px";
                point.style.position = "absolute";//point.style.float在这里无法使用。所以使用定位来实现点的不同分布。

                //整点出用不同的点表示出来。如果能被30整除那么他就是1~12中的数字。
                if (i % 30 == 0) {
                    point.style.backgroundColor = "black";
                    point.style.width = "3px";
                    point.style.height = "3px";
                    //Math.cos(x)三角函数在这里的参数x代表的弧度制。不是角度。所以需要把角度转换成弧度(角度*π/180)。
                    // (120 * Math.cos(i * Math.PI / 180) + 125)
                    point.style.left = (120 * Math.cos(i * Math.PI / 180) + 125) + "px";
                    point.style.top = (120 * Math.sin(i * Math.PI / 180) + 125) + "px";
                }
                else {
                    point.style.left = (125 * Math.cos(i * Math.PI / 180) + 125) + "px";
                    point.style.top = (125 * Math.sin(i * Math.PI / 180) + 125) + "px";
                }
                document.getElementById("clock").appendChild(point);
            }
            //秒针
            var today = new Date();//用来获取系统当前的时间,秒针的时间与系统时间同步
            for (var j = 0; j <= 110; j++) {
                var point = document.createElement("div");
                point.style.backgroundColor = "blue";
                point.style.width = "1px";
                point.style.height = "1px";
                point.style.position = "absolute";

                //通过保持夹角的不变。来画直线
                //Math.cos(today.getSeconds() * 6 * Math.PI / 180 - Math.PI / 2) * j + 125
                point.style.left = (Math.cos(today.getSeconds() * 6 * Math.PI / 180 - Math.PI / 2) * j + 125) + "px";
                point.style.top = (Math.sin(today.getSeconds()*6 * Math.PI / 180 - Math.PI / 2) * j + 125) + "px";
                document.getElementById("clock").appendChild(point);
            }            

            setTimeout(drawClock,1000);
        }

    </script>
</head>
<body onload="drawClock()">
    <div>
        <div id="clock">
        </div>
    </div>
</body>
</html>

知识重点:

使用javascript进行画图。

时间: 2024-10-06 14:15:20

javascript 实现圆形时钟秒针同步的相关文章

用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

一款纯JavaScript的圆形电子时钟

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>一款纯JavaScript的圆形电子时钟丨

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; borde

canvas :原生javascript编写动态时钟

canvas :原生javascript编写动态时钟 此时针是以画布的中心为圆心: g.translate(width/2,width/2); 此函数是将画布的原点移到(width/2,width/2) 绘制表盘 function jiang(){ r = width/2 g.clearRect(0, 0, 600, 600); g.save(); g.translate(r, r); g.rotate(-Math.PI / 2); //分钟刻度线 for(var i = 0; i < 60;

LED时钟|语音同步LED时钟农历计算代码(立显光电)

LED时钟|语音同步LED时钟农历计算代码由深圳市立显光电有限公司技术部提供,欢迎指正,谢谢! void Lunar_Calculation(void){ unsigned char  temp1,temp2,temp3,month_p;    unsigned int temp4,table_addr; unsigned char flag2,flag_y; unsigned char year=time_buf[1];//阳历年 unsigned char month=time_buf[2]

Oracle 11gR2 安装RAC错误之--时钟不同步

Oracle 11gR2 安装RAC错误之--时钟不同步 系统环境: 操作系统:RedHat EL5 Cluster: Oracle GI(Grid Infrastructure) Oracle:  Oracle 11.2.0.1.0 如图所示:RAC 系统架构   对于Oracle 11G构建RAC首先需要构建GI(Grid Infrastructure)的架构 错误现象: 在node2执行root.sh脚本时报错: [[email protected] install]# /u01/11.2

jQuery ClockPicker 圆形时钟

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

H3C设备NTP时钟无法同步排查方法

NTP 时钟无法同步排查方法:1. V5设备NTP同步的版本默认是V3版本,V7设备默认是V4版本,如果直接在V7设备上配置NTP,NTP上的时钟可能无法实现同步的,需要手动将版本更改为V3就可以同步时钟了V5设备查看版本如下:[H3C]dis ntp sessions ver[H3C]dis ntp sessions verbose clock source: 10.1.12.1clock stratum: 2clock status: configured, master, sane, va

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