`
chennanfei
  • 浏览: 41669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTML5 Canvas做的时钟

阅读更多

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>HTML5 demo</title> 
    <style>
        .clock {
            width: 600px;
            height: 600px;
            border: 2px dotted red;
            border-radius: 20px;
            background: url('clockface.jpg') no-repeat;
        }
    </style>
</head>
<body>    
    <div class="clock">
        <canvas id="canvas" width="600" height="600">Not supported</canvas>
    </div>
</body>
<script type="text/javascript">
    startClock();
      
    function $(id) {
        return document.getElementById(id);
    }
     
    function startClock() {
        setInterval("drawClock()", 1000);
    }
    
    function computePostions() {
        var time = new Date();
        var ss = time.getSeconds() / 60;
        var mm = (time.getMinutes() + ss) / 60;
        var hh = (time.getHours() + mm) / 12;
        return {
            'h': (hh * 2 + 1) * Math.PI,
            'm': (mm * 2 + 1) * Math.PI,
            's': (ss * 2 + 1) * Math.PI
        };
    }
    
    function drawClock() {
        var pos = computePostions();
        
        var ctx = $('canvas').getContext('2d');
        ctx.clearRect(0, 0, 600, 600);

        // hour
        ctx.save();
        ctx.beginPath();
        ctx.translate(300, 300);
        ctx.rotate(pos.h);
        ctx.strokeStyle = "#FBD10B";
        ctx.fillStyle = "#FBD10B";
        ctx.lineWidth = "3";
        ctx.moveTo(-4, 0);
        ctx.lineTo(0, 80);
        ctx.lineTo(4, 0);
        ctx.lineTo(-4, 0);
        ctx.fill();
        ctx.stroke();        
        ctx.closePath();
        ctx.restore();
              
        // minute
        ctx.save();
        ctx.beginPath();
        ctx.translate(300, 300);
        ctx.rotate(pos.m);
        ctx.strokeStyle = "#4CB549";
        ctx.fillStyle = "#4CB549";
        ctx.lineWidth = "2";
        ctx.moveTo(-3, 0);
        ctx.lineTo(0, 120);
        ctx.lineTo(3, 0);
        ctx.lineTo(-3, 0);
        ctx.fill();
        ctx.stroke();        
        ctx.closePath();
        ctx.restore();

        // second
        ctx.save();
        ctx.beginPath();
        ctx.translate(300, 300);
        ctx.rotate(pos.s);
        ctx.strokeStyle = "#CB0909";
        ctx.fillStyle = "#CB0909";
        ctx.lineWidth = "1";
        ctx.moveTo(0, 0);
        ctx.lineTo(0, 180);
        ctx.lineTo(0, 0);
        ctx.arc(0, 0, 10, 0, Math.PI * 2, true);
        ctx.fill();
        ctx.stroke();
        ctx.closePath();
        ctx.restore();
    }
</script>
</html>
分享到:
评论

相关推荐

    HTML5 Canvas 动画时钟

    在这个"HTML5 Canvas 动画时钟"的主题中,我们将深入探讨如何利用Canvas API创建一个实时更新的、美观的数字或指针式时钟。 首先,Canvas API 提供了 `canvas` 元素,它是一个矩形区域,可以通过 JavaScript 来绘制...

    HTML5 Canvas绘制时钟

    这篇博文“HTML5 Canvas绘制时钟”旨在介绍如何利用Canvas API创建一个实时更新的数字或指针式时钟。我们将深入探讨Canvas的基础知识、相关API以及实现时钟的具体步骤。 1. HTML5 Canvas基础 HTML5 Canvas是一个二...

    html5 canvas云粒子数字时钟动画特效

    在这个“html5 canvas云粒子数字时钟动画特效”中,我们看到的是Canvas技术与时间显示、粒子系统相结合的应用实例。下面将详细阐述相关知识点。 1. HTML5 Canvas API: HTML5 Canvas是一个基于矢量图形的画布,...

    HTML5 Canvas创意时钟特效.zip

    在这个"HTML5 Canvas创意时钟特效"中,我们主要关注的是如何利用JavaScript和HTML5 Canvas API来创建一个创新且引人注目的时钟动画。 首先,Canvas是一个二维绘图上下文,它通过JavaScript提供了对像素级别的操作。...

    HTML5 canvas数字时钟15种样式代码.zip

    在这个"HTML5 canvas数字时钟15种样式代码.zip"压缩包中,包含了15个不同的数字时钟设计示例,这些都是利用JavaScript和HTML5的canvas API来实现的网页实时走动时钟。 1. **canvas基本概念**:canvas是一个HTML标签...

    HTML5 canvas时钟效果.zip

    在这个“HTML5 canvas时钟效果.zip”压缩包中,包含了一个使用Canvas API实现的时钟显示功能。这个时钟不仅绘制了表盘、时针、分针和秒针,还展示了数字时间,为网页增添了一种实用且动态的元素。 1. **Canvas基本...

    HTML5:canvas制作时钟

    HTML5 Canvas 制作时钟 HTML5 的 Canvas 元素提供了一个强大的绘图功能,通过使用 JavaScript 可以在Canvas上绘制各种图形和动画。在这篇文章中,我们将使用 HTML5 的 Canvas 元素来制作一个时钟。 Canvas 元素...

    HTML5 canvas 时钟

    javascript HTML5 canvas 时钟

    Html5-canvas 时钟

    使用html5中的canvas标签+jquery绘制的时钟走动代码

    html5 canvas实现时钟

    使用html5中的canvas,结合javascript实现时钟效果

    html5 canvas画布绘制圆形时钟代码

    在这个“html5 canvas画布绘制圆形时钟代码”示例中,我们将深入探讨如何利用Canvas API来创建一个功能完备的圆形时钟。 首先,你需要在HTML文件中创建一个`&lt;canvas&gt;`元素,它将作为我们的画布。例如: ```html &lt;!...

    html5 canvas制作15种数字时钟样式代码

    在这个项目中,“html5 canvas制作15种数字时钟样式代码”是利用Canvas API创建了十五种不同设计风格的数字时钟。这些时钟样式丰富多样,可以满足不同的设计需求,为网页添加独特的视觉效果。 1. **Canvas基础知识*...

    HTML5 canvas超逼真的模拟时钟特效

    在本教程中,我们将探讨如何利用HTML5 canvas实现一个超逼真的模拟时钟特效。 首先,我们需要理解canvas的基本结构。HTML5的`&lt;canvas&gt;`标签是一个矩形区域,可以通过JavaScript来绘制图形。在canvas上绘图,我们...

    HTML5 Canvas爱心时钟代码.zip

    这个"HTML5 Canvas爱心时钟代码.zip"压缩包包含了利用Canvas API创建一个独特爱心形状的时钟的示例代码。这个项目结合了前端技术,如CSS、JavaScript、jQuery以及HTML5的Canvas元素,为网页添加了一个既实用又美观的...

    15个超绚丽的HTML5 Canvas时钟动画特效

    之前我们有给大家介绍过很多基于...这次要分享的是15个超绚丽的HTML5 Canvas时钟动画特效,它们很多都有各自不同的外观,有几个时钟的造型还非常新颖奇特,因为是基于HTML5 Canvas的,所以你的浏览器需要支持HTML5。

    HTML5 Canvas粒子数字时钟特效.zip

    在这个“HTML5 Canvas粒子数字时钟特效”中,开发者利用Canvas API创建了一个独特的数字时钟,结合了粒子动画效果,为用户带来了一种新颖的视觉体验。 首先,我们要理解Canvas的基本概念。HTML5的 `&lt;canvas&gt;` 标签...

    HTML5 Canvas 制作时钟.rar

    在这个“HTML5 Canvas 制作时钟.rar”压缩包中,包含了一个利用HTML5 Canvas元素创建的实时更新的时钟示例,主要文件是“index.html”。下面将详细讲解如何使用HTML5 Canvas来制作一个时钟。 首先,HTML5 Canvas...

    html5 canvas圆形时钟代码.zip

    这个"html5 canvas圆形时钟代码.zip"压缩包很显然是一个关于使用HTML5 Canvas创建动态圆形时钟的示例项目。接下来,我们将深入探讨相关知识点。 1. HTML5 Canvas API: HTML5 Canvas是一个基于矢量图形的元素,它...

Global site tag (gtag.js) - Google Analytics