返回顶部
首页 > 资讯 > 前端开发 > VUE >HTML5如何实现可缩放时钟
  • 476
分享到

HTML5如何实现可缩放时钟

2024-04-02 19:04:59 476人浏览 独家记忆
摘要

这篇文章主要为大家展示了“HTML5如何实现可缩放时钟”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5如何实现可缩放时钟”这篇文章吧。具体代码如下所示:

这篇文章主要为大家展示了“HTML5如何实现可缩放时钟”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5如何实现可缩放时钟”这篇文章吧。

具体代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>canvas_time</title>
    <style type="text/CSS">
    div {
        text-align: center;
        margin-top: 250px;
    }
    #clock {
        border: 1px solid #cccccc;
    }
    </style>
</head>
<body>
    <div>
        <canvas id="clock" height="600px" width="600px"></canvas>
    </div>
    <script type="text/javascript" >
var dom = document.getElementById('clock');
var ctx = dom.getContext('2d');
var width = ctx.canvas.width;
var height = ctx.canvas.height;
var r = width / 2;
var rem = width/200;
function drawBackground() {
    ctx.save(); //存储当前环境变量;
    ctx.translate(r, r); //重置坐标到r,r
    ctx.beginPath(); // 起始一条路径
    ctx.lineWidth = 10*rem; //设置线宽10;
    ctx.arc(0, 0, r - ctx.lineWidth /2, 0, 2 * Math.PI, false);
    ctx.stroke();
    var hourNumbers = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2]; //定义数组
    ctx.font = 18*rem+"px Arial";
    ctx.textAlign = "center";
    ctx.textBaseline = "middle";
       hourNumbers.forEach(function(number, i) {
        var rad = 2 * Math.PI / 12 * i;
        var x = Math.cos(rad) * (r - 30*rem);
        var y = Math.sin(rad) * (r - 30*rem);
        ctx.fillText(number, x, y);
    });
    for (var i = 0; i < 60; i++) {
        var rad = 2 * Math.PI / 60 * i;
        var x = Math.cos(rad) * (r - 18*rem);
        var y = Math.sin(rad) * (r - 18*rem);
        ctx.beginPath();
        if (i % 5 === 0) {
            ctx.arc(x, y, 2*rem, 0, 2 * Math.PI, false);
            ctx.fillStyle = "#000";
        } else {
            ctx.arc(x, y, 2*rem, 0, 2 * Math.PI, false);
            ctx.fillStyle = "#ccc";
        }
        ctx.fill();
    }
}
    function drawHour(hour, minute) {
        ctx.save();
        ctx.beginPath();
        var rad = 2 * Math.PI / 12 * hour;
        var mrad = 2 * Math.PI / 12 / 60 * minute;
        ctx.rotate(rad + mrad);
        ctx.lineWidth = 6*rem;
        ctx.lineCap = "round";
        ctx.moveTo(0, 10*rem);
        ctx.lineTo(0, -r / 2);
        ctx.stroke();
        ctx.restore();
    }
    function drawMinute(minute) {
        ctx.save();
        ctx.beginPath();
        var rad = 2 * Math.PI / 60 * minute;
        ctx.rotate(rad);
        ctx.lineWidth = 3*rem;
        ctx.lineCap = "round";
        ctx.moveTo(0, 10*rem);
        ctx.lineTo(0, -r + 30*rem);
        ctx.stroke();
        ctx.restore();
    }
    function drawSecond(second) {
        ctx.save();
        ctx.beginPath();
        ctx.fillStyle = 'red';
        var rad = 2 * Math.PI / 60 * second;
        ctx.rotate(rad);
        ctx.moveTo(-2*rem, 20*rem);
        ctx.lineTo(2*rem, 20*rem);
        ctx.lineTo(1, -r + 16*rem);
        ctx.lineTo(-1, -r + 16*rem);
        ctx.fill();
        ctx.restore();
    }
    function drawDot() {
        ctx.beginPath();
        ctx.fillStyle = '#fff';
        ctx.arc(0, 0, 3*rem, 0, 2 * Math.PI, false);
        ctx.fill();
    }
    function draw01() {
        ctx.clearRect(0, 0, width, height);
        var now = new Date();
        var hour = now.getHours();
        var minute = now.getMinutes();
        var second = now.getSeconds();
        drawBackground();
        drawHour(hour, minute);
        drawMinute(minute);
        drawSecond(second);
        drawDot();
        ctx.restore();
    }
    draw01();
    setInterval(draw01, 1000);
</script>
</body>
</html>

以上是“HTML5如何实现可缩放时钟”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: HTML5如何实现可缩放时钟

本文链接: https://lsjlt.com/news/66373.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • HTML5如何实现可缩放时钟
    这篇文章主要为大家展示了“HTML5如何实现可缩放时钟”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML5如何实现可缩放时钟”这篇文章吧。具体代码如下所示:...
    99+
    2024-04-02
  • HTML5 Canvas如何实现旋转和缩放
    小编给大家分享一下HTML5 Canvas如何实现旋转和缩放,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! Canvas旋转 ...
    99+
    2024-04-02
  • HTML5 Canvas如何实现图片缩放比例
    小编给大家分享一下HTML5 Canvas如何实现图片缩放比例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! drawImage方法的又一变种是增加了两个用于控制图像在canvas中缩放...
    99+
    2024-04-02
  • 基于HTML5+CSS3如何实现时钟效果
    这篇文章给大家分享的是有关基于HTML5+CSS3如何实现时钟效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。目的:利用html5,css实现钟摆效果知识点: 1) 利用pos...
    99+
    2024-04-02
  • 如何使用HTML5实现一个时钟动画
    这篇文章主要为大家展示了“如何使用HTML5实现一个时钟动画”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTML5实现一个时钟动画”这篇文章吧。  ...
    99+
    2024-04-02
  • react如何实现缩放
    这篇文章主要讲解了“react如何实现缩放”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何实现缩放”吧!react实现缩放的方法:1、监听onWheel事件;2、设置事件对象ev...
    99+
    2023-07-04
  • 如何理解HTML5中SVG的可缩放矢量图形
    这期内容当中小编将会给大家带来有关如何理解HTML5中SVG的可缩放矢量图形,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 位图与矢量图 以前...
    99+
    2024-04-02
  • 如何使用HTML5实现会走动的图形时钟
    本篇内容介绍了“如何使用HTML5实现会走动的图形时钟”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用H...
    99+
    2024-04-02
  • 如何用html5画一个时钟
    本篇内容介绍了“如何用html5画一个时钟”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   1.实现效...
    99+
    2024-04-02
  • javascript如何实现禁止缩放
    这篇文章给大家分享的是有关javascript如何实现禁止缩放的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 javascript实现禁止缩放的方法:...
    99+
    2024-04-02
  • 如何使用纯html5绘制时钟
    这篇文章主要介绍如何使用纯html5绘制时钟,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一起看下效果图:  实现的代码。  htm代码:XML/HTML Code复制内容到剪贴板&...
    99+
    2024-04-02
  • 如何用HTML5制作数字时钟
    本篇内容主要讲解“如何用HTML5制作数字时钟”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用HTML5制作数字时钟”吧! 复制代码 XML/HTML ...
    99+
    2024-04-02
  • HTML5如何添加禁止缩放功能
    这篇文章主要介绍HTML5如何添加禁止缩放功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码如下所示:<meta name="viewport&qu...
    99+
    2024-04-02
  • HTML5如何实现拖放效果
    这篇文章主要介绍HTML5如何实现拖放效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!拖放拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分...
    99+
    2024-04-02
  • html5如何实现视频播放
    这篇文章主要为大家展示了“html5如何实现视频播放”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5如何实现视频播放”这篇文章吧。一、html5技术优势...
    99+
    2024-04-02
  • 如何使用HTML5 Canvas实现图片缩放、颜色渐变效果
    这篇文章主要为大家展示了“如何使用HTML5 Canvas实现图片缩放、颜色渐变效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTML5 Canva...
    99+
    2024-04-02
  • 如何利用SwiftUI实现可缩放的图片预览器
    目录前言实现过程 程序的初步构想 显示 UIImage 双击缩放 放大手势缩放 预览任意 View 将 UIImage 从 LBJImagePreviewer 剥离 源码总结前言 在...
    99+
    2024-04-02
  • Android如何利用svg实现可缩放的地图控件
    目录序言效果实现svg地图的获取控件实现svg解析缩放源码Demo总结序言 闲来无事写了个地图控件,基于SVG。可以缩放,可拖动,可点击。SVG具有体积小,不失真的优点。而且由于保存...
    99+
    2024-04-02
  • vue如何实现桌面时钟
    这篇文章主要为大家展示了“vue如何实现桌面时钟”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现桌面时钟”这篇文章吧。用vue实现一个简单的网页桌面...
    99+
    2024-04-02
  • css如何实现时钟代码
    这篇文章将为大家详细讲解有关css如何实现时钟代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 一。简介 Processing.js作者是John Resig,这是...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作