| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1442 人关注过本帖
标题:HTML5 - 另一个时钟
取消只看楼主 加入收藏
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
结帖率:98.25%
收藏
 问题点数:0 回复次数:2 
HTML5 - 另一个时钟
<!DOCTYPE html>

<html lang="en" xmlns="http://www.
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <canvas width="500" height="500" id="clock"></canvas>
    <script>
        function drawClock() {
            var cxt = document.getElementById('clock').getContext('2d'),
                i = 0,
                now = new Date(),
                sec = now.getSeconds(),
                min = now.getMinutes(),
                hour = (now.getHours() % 12) + min / 60;

            cxt.clearRect(0, 0, 500, 500);

            cxt.lineWidth = 10;
            cxt.strokeStyle = 'rgba(0,0,255,0.6)';
            cxt.beginPath()
            cxt.strokeRect(50, 50, 400, 400);
            //cxt.arc(250, 250, 200, 0, 360, false);
            cxt.closePath();
            cxt.stroke();

            //绘制表盘
            cxt.strokeStyle = 'rgba(0,0,0,0.6)';
            for (i = 1; i <= 60; i++) {
                cxt.save();
                if (i % 5 == 0) {
                    cxt.lineWidth = 7;
                }
                else {
                    cxt.lineWidth = 4;
                }
                cxt.translate(250, 250);
                cxt.rotate(i * Math.PI / 30);

                cxt.beginPath();
                if (i % 5 == 0) {
                    cxt.moveTo(0, -170);
                    cxt.font = '18px 黑体';
                    cxt.lineWidth = 1;
                    cxt.strokeText((i / 5), -6, -150);
                    cxt.lineWidth = 7;
                }
                else {
                    cxt.moveTo(0, -180);
                }
                cxt.lineTo(0, -190);
                cxt.closePath();

                cxt.stroke();

                cxt.restore();
            }
            //绘制时针
            cxt.save();
            cxt.lineWidth = 7;
            cxt.strokeStyle = 'rgb(0,0,0)';
            cxt.translate(250, 250);
            cxt.rotate(hour * Math.PI / 6);
            cxt.beginPath();
            cxt.moveTo(0, -110);
            cxt.lineTo(0, 10);
            cxt.closePath();
            cxt.stroke();
            cxt.restore();
            //绘制分针
            cxt.save();
            cxt.lineWidth = 5;
            cxt.strokeStyle = 'rgb(0,0,0)';
            cxt.translate(250, 250);
            cxt.rotate(min * Math.PI / 30);
            cxt.beginPath();
            cxt.moveTo(0, -130);
            cxt.lineTo(0, 15);
            cxt.closePath();
            cxt.stroke();
            cxt.restore();
            //绘制秒针
            cxt.save();
            cxt.lineWidth = 2;
            cxt.strokeStyle = 'rgb(255,0,0)';
            cxt.translate(250, 250);
            cxt.rotate(sec * Math.PI / 30);
            cxt.beginPath();
            cxt.moveTo(0, -150);
            cxt.lineTo(0, 20);
            cxt.closePath();
            cxt.stroke();
            //绘制时针、分针、秒针的交叉点
            cxt.beginPath();
            cxt.arc(0, 0, 6, 0, 360, false);
            cxt.closePath();
            cxt.fillStyle = 'rgba(150,150,150,1)';
            cxt.fill();
            cxt.stroke();
            //设置秒针的尖端的小原点
            cxt.beginPath();
            cxt.arc(0, -130, 5, 0, 360, false);
            cxt.closePath();
            cxt.fillStyle = 'rgba(150,150,50,1)';
            cxt.fill();
            cxt.stroke();
            cxt.restore();
        }

        drawClock();
        setTimeout(function () {
            drawClock()
            setTimeout(arguments.callee, 1000);
        }, 1000);
    </script>
</body>
</html>
收到的鲜花
  • 林月儿2015-05-29 07:02 送鲜花  49朵   附言:赞
搜索更多相关主题的帖子: function HTML5 title 
2015-05-28 22:45
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
以下是引用wmf2014在2015-5-29 10:07:16的发言:

把秒针做成匀速转动的,别有一番风味

呵呵,那需要获取毫秒,其实也很简单

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-30 13:29
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
这倒是,HTML5确实很强大呢

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-30 22:44
快速回复:HTML5 - 另一个时钟
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024076 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved