• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    会走动的图形html5时钟示例
    POST TIME:2021-10-16 23:33

    使用HTML5制作时钟


    复制代码
    代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <title>html5时钟</title>
    </head>
    <body>
    <canvas id = "canvas"></canvas></p> <p> <script>
    var Clock = function (canvas, options) {
    this.canvas = canvas;
    this.ctx = this.canvas.getContext("2d");
    this.options = options;
    };</p> <p> Clock.prototype = {
    constructor: Clock,
    drawCircle: function () {
    var ctx = this.ctx;
    ctx.strokeStyle = "black";
    ctx.arc(this.canvas.width / 2, this.canvas.height / 2, 50, 0, 2 * Math.PI, false);
    ctx.stroke();
    },
    drawNum: function () {
    var ctx = this.ctx;
    var angle = Math.PI * 2 / 12;
    for (var i = 1; i <= 12; i += 1) {
    ctx.font = "20px Georgia";
    ctx.textAlign = "center";
    ctx.textBaseline = 'middle';
    ctx.fillText(String(i), this.canvas.width / 2 + Math.cos(3 *Math.PI / 2 + angle * i) * 40, this.canvas.height / 2 + Math.sin(3 * Math.PI / 2 + angle * i) * 40);
    }
    },
    drawPointer: function () {
    var ctx = this.ctx;
    var that = this;
    var date, hour, minute, second;
    date = new Date();
    hour = date.getHours();
    if (hour > 12) {
    hour = hour % 12;
    }
    minute = date.getMinutes();
    second = date.getSeconds();</p> <p> var b = minute * Math.PI / 30;
    var c = second * Math.PI / 30;
    var a = hour * Math.PI / 6 + Math.PI / 6 * minute / 60;
    var minuteAngle = Math.PI * 2 / 3600;
    var secondAngle = Math.PI * 2 / 60;
    var hourAngle = Math.PI * 2 / 12 / 3600;</p> <p> ctx.beginPath();
    ctx.save();
    ctx.translate(that.canvas.width / 2, that.canvas.height / 2);
    ctx.arc(0, 0, 3, 0, 2 * Math.PI, false);
    ctx.fill();
    ctx.closePath();
    ctx.beginPath();
    a += hourAngle;
    ctx.rotate(a);
    ctx.fillRect(-2, -22, 4, 30);
    ctx.closePath();
    ctx.beginPath();
    b += minuteAngle;
    ctx.rotate(b - a);
    ctx.fillRect(-1.5, -26, 3, 35);
    ctx.closePath();
    ctx.beginPath();
    c += secondAngle;
    ctx.rotate(c - b);
    ctx.fillRect(-1, -30, 2, 40);
    ctx.closePath();
    ctx.restore();
    },
    rePaint: function () {
    this.drawPointer();
    this.drawCircle();
    this.drawNum();
    },
    tik: function () {
    var that = this;
    var ctx = this.ctx;
    this.rePaint();
    window.timer = setInterval(function () {
    ctx.clearRect(0, 0, that.canvas.width, that.canvas.height);
    that.rePaint();
    }, 1000);
    }
    };</p> <p> var options;
    var clock = new Clock(document.getElementById("canvas"), options);
    clock.tik();
    </script>
    </body>
    </html>


    保存后使用浏览器运行,可以看到走动的圆形时钟,大家试试看吧

  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信