站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        介紹一個用HTML5 Canvas 制作的時鐘

        用HTML5 Canvas 制作的時鐘,看著挺簡單的,但其中寫起來還是有很多小的問題的,感興趣的小伙伴們可以參考一下

        介紹一個用HTML5 Canvas 制作的時鐘

        代碼如下:

        <!DOCTYPE html>  <html lang="en" >      <head>          <meta charset="utf-8" />          <title>HTML5 時鐘</title>          <link href="css/main.css" rel="stylesheet" type="text/css" />          <script src="http://code.jquery.com/jquery-latest.min.js"></script>        <style>          .clocks {            height: 500px;            margin: 25px auto;            position: relative;            width: 500px;          }        </style>      </head>      <body>          <header>              <h2>HTML5 時鐘</h2>          </header>          <p class="clocks">              <canvas id="canvas" width="500" height="500"></canvas>          </p>      </body>  </html>

        [JavaScript]代碼

        // inner variables  var canvas, ctx;  var clockRadius = 250;  var clockImage;    // draw functions :  function clear() { // clear canvas function      ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);  }    function drawScene() { // main drawScene function      clear(); // clear canvas        // get current time      var date = new Date();      var hours = date.getHours();      var minutes = date.getMinutes();      var seconds = date.getSeconds();      hours = hours > 12 ? hours - 12 : hours;      var hour = hours + minutes / 60;      var minute = minutes + seconds / 60;        // save current context      ctx.save();        // draw clock image (as background)      ctx.drawImage(clockImage, 0, 0, 500, 500);        ctx.translate(canvas.width / 2, canvas.height / 2);      ctx.beginPath();        // draw numbers      ctx.font = '36px Arial';      ctx.fillStyle = '#000';      ctx.textAlign = 'center';      ctx.textBaseline = 'middle';      for (var n = 1; n <= 12; n++) {          var theta = (n - 3) * (Math.PI * 2) / 12;          var x = clockRadius * 0.7 * Math.cos(theta);          var y = clockRadius * 0.7 * Math.sin(theta);          ctx.fillText(n, x, y);      }        // draw hour      ctx.save();      var theta = (hour - 3) * 2 * Math.PI / 12;      ctx.rotate(theta);      ctx.beginPath();      ctx.moveTo(-15, -5);      ctx.lineTo(-15, 5);      ctx.lineTo(clockRadius * 0.5, 1);      ctx.lineTo(clockRadius * 0.5, -1);      ctx.fill();      ctx.restore();        // draw minute      ctx.save();      var theta = (minute - 15) * 2 * Math.PI / 60;      ctx.rotate(theta);      ctx.beginPath();      ctx.moveTo(-15, -4);      ctx.lineTo(-15, 4);      ctx.lineTo(clockRadius * 0.8, 1);      ctx.lineTo(clockRadius * 0.8, -1);      ctx.fill();      ctx.restore();        // draw second      ctx.save();      var theta = (seconds - 15) * 2 * Math.PI / 60;      ctx.rotate(theta);      ctx.beginPath();      ctx.moveTo(-15, -3);      ctx.lineTo(-15, 3);      ctx.lineTo(clockRadius * 0.9, 1);      ctx.lineTo(clockRadius * 0.9, -1);      ctx.fillStyle = '#0f0';      ctx.fill();      ctx.restore();        ctx.restore();  }  // initialization  $(function(){      canvas = document.getElementById('canvas');      ctx = canvas.getContext('2d');        // var width = canvas.width;      // var height = canvas.height;    clockImage = new Image();  clockImage.src = 'http://static.oschina.net/uploads/space/2012/0712/125855_nnla_89964.png';        setInterval(drawScene, 1000); // loop drawScene  });

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 四虎最新永久在线精品免费| 国产精品成| 欧美精品国产一区二区| 欧美精品一二区| 成人精品一区二区三区电影黑人 | 亚洲精品卡2卡3卡4卡5卡区| 国产AⅤ精品一区二区三区久久| 精品无码国产污污污免费网站 | 亚洲精品动漫免费二区| 人精品影院| 久久精品国产91久久麻豆自制| 欧美性videos高清精品| 亚洲欧美日韩国产精品| 欧美精品一区二区在线精品 | 亚洲精品国产成人片| 亚洲国产高清精品线久久| 国内精品久久久久久麻豆| 99久久人人爽亚洲精品美女 | 国产精品一区二区av| 欧美精品综合视频一区二区| 国产精品久久久久影院嫩草| 精品偷自拍另类在线观看| 亚洲精品tv久久久久久久久| 亚洲人午夜射精精品日韩| 午夜精品久久影院蜜桃| 免费看一级毛片在线观看精品视频 | 精品麻豆丝袜高跟鞋AV| 在线精品亚洲一区二区| 亚洲高清国产拍精品青青草原| 欧美亚洲另类精品第一页 | 91在线视频精品| 国产精品国产精品国产专区不卡 | 久久精品国产亚洲av麻豆色欲| 亚洲Av无码精品色午夜| 热re99久久6国产精品免费| 国内精品久久久久影院优 | 久久精品成人欧美大片| 精品日韩欧美国产| 日本精品久久久久影院日本| 最新国产在线精品观看| 日韩精品无码免费一区二区三区|